当前位置:  编程技术>移动开发
本页文章导读:
    ▪任务栏展示年月日        任务栏显示年月日 在“控制面板-区域和语言选项-区域选项--自定义-日期-短日期格式”改为最短的yyyy-MM-dd,确定一下.ok ......
    ▪ Spring学习札记-MultiActionController        Spring学习笔记----MultiActionController Spring提供一个多动作控制器,使用它你可以将几个动作合并在一个控制器里,这样可以把功能组合在一起。多动作控制器存在在一个单独的包中——org.spri.........
    ▪ 谷歌输入法扰乱ZendStudio的ctrl+鼠标左键跳转链接       谷歌输入法干扰ZendStudio的ctrl+鼠标左键跳转链接 就是Ctrl+鼠标左键点击 点击某个函数的时候能让它自动转到这个函数定义的地方。      我在谷歌输入法的状态下,ctrl+点击左键之后,并.........

[1]任务栏展示年月日
    来源: 互联网  发布时间: 2014-02-18
任务栏显示年月日

在“控制面板-区域和语言选项-区域选项--自定义-日期-短日期格式”改为最短的yyyy-MM-dd,确定一下.ok


    
[2] Spring学习札记-MultiActionController
    来源: 互联网  发布时间: 2014-02-18
Spring学习笔记----MultiActionController
Spring提供一个多动作控制器,使用它你可以将几个动作合并在一个控制器里,这样可以把功能组合在一起。多动作控制器存在在一个单独的包中——org.springframework.web.mvc.multiaction——它能够将请求映射到方法名,然后调用正确的方法。比如当你在一个控制器中有很多公共的功能,但是想多个入口到控制器使用不同的行为,使用多动作控制器就特别方便。

MultiActionController 提供的功能

功能  解释 
delegate  MultiActionController有两种使用方式。第一种是继承MultiActionController,并在子类中指定由MethodNameResolver解析的方法(这种情况下不需要这个配置参数),第二种是你定义了一个代理对象,由它调用Resolver解析的方法。如果你是这种情况,你必须使用这个配置参数定义代理对象 
methodNameResolver  由于某种原因,MultiActionController需要基于收到的请求解析它必须调用的方法。你可以使用这个配置参数定义一个解析器 

一个多动作控制器的方法需要符合下列格式:

// actionName can be replaced by any methodname
ModelAndView actionName(HttpServletRequest, HttpServletResponse);
由于MultiActionController不能判断方法重载(overloading),所以方法重载是不允许的。此外,你可以定义exception handlers,它能够处理从你指定的方法中抛出的异常。包含异常处理的动作方法需要返回一个ModelAndView对象,就象其它动作方法一样,并符合下面的格式:

// anyMeaningfulName can be replaced by any methodname
ModelAndView anyMeaningfulName(HttpServletRequest, HttpServletResponse, ExceptionClass);
ExceptionClass可以是任何异常,只要它是java.lang.Exception或java.lang.RuntimeException的子类。

MethodNameResolver 根据收到的请求解析方法名。有三种解析器可以供你选择,当然你可以自己实现解析器。

ParameterMethodNameResolver - 解析请求参数,并将它作为方法名(http://www.sf.net/index.view?testParam=testIt的请求就会调用testIt(HttpServletRequest,HttpServletResponse))。使用paramName配置参数可以调整所检查的参数

InternalPathMethodNameResolver - 从路径中获取文件名作为方法名(http://www.sf.net/testing.view的请求会调用testing(HttpServletRequest, HttpServletResponse)方法)

PropertiesMethodNameResolver - 使用用户定义的属性对象将请求的URL映射到方法名。当属性定义/index/welcome.html=doIt,并且收到/index/welcome.html的请求,就调用doIt(HttpServletRequest, HttpServletResponse)方法。这个方法名解析器需要使用PathMatcher 所以如果属性包含/**/welcom?.html,该方法也会被调用!

我们来看一组例子。首先是一个使用ParameterMethodNameResolver和代理属性<继承MultiActionController>的例子,它接受包含参数名的请求

例一:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;

public class ProductController{

  public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception {

      response.getOutputStream().print("Viewing");
      return null;
  }

  public ModelAndView index(HttpServletRequest request, HttpServletResponse response) throws Exception {
     
      response.getOutputStream().print("index");
      return null;
  }
}

*-servlet.xml配置:

<!--配置MultiActionController使用的方法对应策略ParameterMehtodNameResolver,用于解析请求中的特定参数的值,将该值作为方法名调用-->
<bean id="paramResolver" >
  <property name="paramName" value="method"></property>
</bean>
<!--配置MultiActionController,因为使用delegate,所以需要配置delegate和methodNameResolver两个属性,两个属性分别指明该MultiActionController的方法解析策略和delegate-->
<bean name="/disp.sp" >
     <property name="methodNameResolver" ref="paramResolver"></property>
     <property name="delegate" ref="productController"></property>
</bean>
<!--配置MultiActionController所依赖的delegate-->
   <bean id="productController" />

测试URL:http://localhost:8080/xktj/disp.sp?method=view

例二:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class TestMultiactionController extends MultiActionController {

public ModelAndView view(HttpServletRequest request,HttpServletResponse response) throws Exception{
 
  response.getOutputStream().println("this is test!!!");
  return null;
}

public ModelAndView add(HttpServletRequest request,HttpServletResponse response) throws Exception{
 
  response.getOutputStream().println("test add......");
  return null;
}
}


*-servlet.xml配置:

<bean id="MethodNameResolver" >
    <property name="paramName" value="method"></property>
    <property name="defaultMethodName" value="view"></property>
   </bean>
   <bean name="/muti.sp" >
    <property name="methodNameResolver" ref="MethodNameResolver"></property>
</bean>

测试URL:http://localhost:8080/xktj/muti.sp?method=view


    
[3] 谷歌输入法扰乱ZendStudio的ctrl+鼠标左键跳转链接
    来源: 互联网  发布时间: 2014-02-18
谷歌输入法干扰ZendStudio的ctrl+鼠标左键跳转链接

就是Ctrl+鼠标左键点击 点击某个函数的时候能让它自动转到这个函数定义的地方。
      我在谷歌输入法的状态下,ctrl+点击左键之后,并没有小手的提示状态,虽然能够链接过去,但是没有“小手”的手势,实在让我不习惯。我没有找到原因之前,怀疑过是Zend中的设置问题,怀疑过重装完系统之后的问题,怀疑过鼠标本身及鼠标的设置问题,就是没有怀疑过输入法问题!非常之悲剧啊,不过最后经过一上午的折腾还是给折腾出来了。
      下次一定记住了。
      现在我换成了QQ输入法,不用谷歌输入法了,浪费了我的时间,我要让它失去我只个本来忠实于它的用户。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3