`
mazhiyuan
  • 浏览: 64727 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2.1权威指南-笔记

阅读更多

1.struts 1.x 和 struts 2.x的区别以及struts2的流程
2.在action中获得session验证登陆用户信息

3.在jsp页面中可以通过
  ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
得到valuestack的映射
  并通过vs.findValue("");
得到valuestack中的值

4.国际化还需要试试,不怎么理解

需要在struts.properties中配置资源文件的路径和文件头
struts.custom.i18n.resources=lee.messageResource

2种使用国际化的标签
<s:text name="messageKey" />
<s:property value="%{getText('messageKey')}" />

此外可以在其他标签中添加key
<s:textfield name="" key="messageKey" />
<s:submit key="">
放弃lable属性


5.添加数据校验
继承ActionSupport后,由于它实现了Validateable接口,使action拥有了校验的功能
validate方法会在execute方法执行前执行,若产生错误会添加到错误域中
addFieldError("","");
这些错误会转发到逻辑视图中显示

添加错误域的代码也可以取消硬编码,实现国际化
addFieldError("username",getText(messageKey));
即可

使用Xwork的校验框架。编写校验xml文件,该文件中也可以实现国际化
其命名规则为ActionName-validation.xml
并与对应的action放在同一路径下

这样即使不在action实现validate方法也可以实现数据校验,并具有更好的可维护性
并且在资源文件中可以传递参数
例如
资源文件中:welocomeMsg = welcome,{0},...,welcome to my space!
<s:text name="weclomeMsg">
  <s:parm value="user" />
  ...
</s:text>

6.struts2加载配置文件的顺序
struts-default.xml  ---- struts2-core-2.0.6.jar文件中
struts-plugin.xml ---- struts2-Xxx-2.0.6.jar等插件jar中
struts.xml  ---- 默认的struts2配置文件
struts.properties ---- 默认的struts2配置文件
web.xml ---- web应用的配置文件
多个文件配置了同样的常量,后面的会覆盖前面配置量。

7.命名空间
默认命名空间可以处理任何模块下的action请求,若在指定的命名空间中没有发现对应的action则到默认命名空间查找,若默认空间也没有,则系统出现错误。

8.action访问servlet api的2中方式
  1)通过ActionContext
     ActionContext act = ActionContext.getContext(); -- 通过静态方法得到ActionContext实例
     act.getApplication()  -- 返回上下文域
     act.getSession() -- 返回会话域
     act.getParameters() -- 返回请求域
     act.put(key,value) -- 用语向请求域中存入参数
  2)直接访问,实现ServletRequestAware、ServletResponseAware、ServletContextAware
     声明HttpServletRequest属性即可,同时添加set方法
  3)视图输出
     ${applicationScope.xxx}
     ${sessionScope.xxx}
     ${requestScope.xxx}
  4)即使可以在action中获得响应对象,也不要尝试直接在action中生成对客户端的输出。

9.改变默认的action处理类
  一般情况下,配置action时不指定class属性时,系统默认actionSupport作为处理类,这是因为在struts-defalut.xml有default-class-ref的配置,若想改变默认的处理类只要在struts.xml中重新配置就行,它会覆盖之前的配置值。

10.采用通配符设置action
   除非请求的url与action的name属性绝对相同,否则将按先后顺序来决定由哪个action来处理用户请求。因此应该将名为星号的action配置放在最后。

11.结果类型plainText
   显示视图资源的源代码,但是中文会出现乱码,可以设置参数解决这个问题
   <result type="plainText">
     <param name="location">/index.jsp</param>  
     <param name="charSet">GBK</param>
   </result>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics