`
karlhell
  • 浏览: 105684 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2基础

    博客分类:
  • SSH
阅读更多
XML国际化的配置
代码:
<constant name="struts.custom.i18n.resources" value="message" />


为了避免struts.xml文件过于庞大,臃肿提高struts.xml的可读性,我们将struts.xml配置文件分解成多个文件,struts.xml包含分解文件
代码:
<include file="struts-part1.xml" />


ActionSupport基类返回值:
ERROR、NONE、INPUT、LOGIN、SUCCESS

Action访问ServletAPI
Struts2提供了ActonContext类
ActionContext常用方法:
-Object get(Object key)
-Map getApplication()
-static ActionContext getContext()
-Map getParameters()
-Map getSession()
-void setApplication(Map applicaton)
-vois setSession(Map session)
例子:
ActionContext ctx = ActionContext.getContext();
//访问application范围的属性值
String user = ctx.getApplication.get("user");
user = ctx.get("user");
ctx.put("user",user);
ctx.getApplication().put("user",user);
ctx.getSession().put("user",user);


除此之外,为了直接访问ServletAPI,Struts2还提供了一个ServletActionContext工具类。该类包含一下几个静态方法:
-static PageContext getPageContext()
-static HttpServletRequest getRequest()
-static HttpServletResponse getResponse()
-static ServletContext getServletContext()

ActionContext ctx = ActionContext.getContext();        
       
  HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);        
       
  HttpServletResponse response = (HttpServletResponse)ctx.get(ServletActionContext.HTTP_RESPONSE);        
         
  //ServletActionContext.APPLICATION;        
  //ServletActionContext.SESSION;        
  //ServletActionContext.PAGE_CONTEXT;   


Struts2使用包来组织Action。使用package元素配置一个包:
<struts>
 <!-- 配置第一个包 -->
 <package name="test" extends="struts-default">
  ...
 </package>
 <!-- 配置第二个包 继承第一个包 -->
 <package name="skill" extends="test" namespace="/skill">
  ...
 </package>
</struts>

同一个命名空间的Action不能同名,不同命名空间的Action可以同名
Struts2的命名空间的作用等同于Struts1里的模块的作用。
默认命名空间里的Action可以处理任何命名空间下的Action请求。但是根命名空间下的Action只处理根命名空间下的Action
如果在命名空间里没有找到Action那么会到默认命名空间找Action而不会去上一级空间去找例:/service/test

Struts2中使用通配符实现同Action的不同method调用
代码:
<Action name="*Action" class"test.LoginAction" method="{0}">
 <result name="input">/login.jsp</result>
 <result name="success">/welcome.jsp</result>
</Action>


待续。。。:oops:
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics