您的位置:首页 > 编程语言 > Java开发

Struts2学习总结

2010-05-16 13:46 309 查看

Struts2学习总结

1、Action
(1)public String execute() throws
Exception{}
(2)extends ActionSupport
(3)implements Action

2、Action中访问Servlet
API
(1)ActionContext

ActionContext ac =
ActionContext.getContext();
Map session = ac.getSession();
session.put(“username”, username);
取数据:${sessionScope.username}

方法二:Extends ActionSupport implements ServletContextAware ServletRequestAware
ServletResponseAware
通过实现的方法传递出HttpServletRequest,HttpServletResponse,
从而得到HttpSession

方法三:HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response =
ServletActionContext.getResponse();
ServletContext sc = ServletActionContext.getContext();
HttpSession session = request.getSession();
Session.setAttribute(“username”, usernames);

同一业务用例中可能有多个方法,即在1个类中处理多个动作,比如login,register等
方法一:
页面:
<a href=”<%=path
%>/user!login.action”>Login</a>

<a
href=”/user![/b]login.action”>Login</a>
|
<a
href=”/user![/b]register.action”>Register</a>

Action:
UserAction中增加login()
throws Exception, register() throws Exception

方法二:
配置文件中分别指定每次需要调用的方法
<action name=”userRegister” class=”com.alibaba.aciton.UserAction”
method=”register”>
<result name=”registerOk”
>registerOK.jsp</result>
</action>
<action name=”userRegister” class=”com.alibaba.aciton.UserAction”
method=”login”>
<result name=”loginOk”
>loginOk.jsp</result>
</action>

页面则使用如下方式:
<a
href=”/userlogin.action”>Login</a> |
<a
href=”/userregister.action”>Register</a>

方法三:
struts.xml的配置文件可以更加的灵活处理,采用通配符的方式
<action name=”*Action” class=”com.alibaba.action.UserAction”
method={1}>
<result name=”registerOk”
>registerOK.jsp</result>
<result name=”loginOk”
>loginOk.jsp</result>
</action>

页面提交处需要以**Action命名,即可被通配符截获

类型转换机制:[/b][/b]
1、常用的类型, 框架自动转换
Struts2基于OGNL的, 重要接口TypeConverter
Extends DefaultTypeConverter

public class PointConverter extends
DefaultTypeConverter{
public
Object convertValue(Map map, Object obj, Class toType){

}

}
再在配置文件中指定那个类用那个转换器来转换
PointAction-conversion.properties
Point=com.alibaba.converter.PointConverter
或者:
全局:xwork-conversion.properties

StrutsTypeConverter

2、自定义类型

3、Struts中的标签
<%@ taglib uri=”/struts-tags” prefix=”s”
%>, 其中uri招struts-core中的strults-tags.tld中的

<s:form action=”register.action” ><!—不用再写.action了-->
<s:textfield
name=”name” label=”Name”/>
<s:textfield
name=”age” label=”Age”/>
<s:submit
value=”Register” />

</s:form>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 struts2