Struts2基础

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>


[b][size=large][color=red]待续。。。:oops: [/color][/size][/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值