Struts2 一、 视图转发跳转
<struts> <constant name="struts.118n.encoding" value="UTF-8"></constant> <constant name="struts.action.extension" value="do"></constant> <constant name="struts.serve.static.browserCache" value="false"></constant> <constant name="struts.devMode" value="false"></constant> <constant name="struts.ui.theme" value="simple"></constant>
1、正常跳转
<pre name="code" class="html"><package name="demo" namespace="/demo" extends="struts-default">
<action name="action_*" class="cn.actions.DemoAction" method="{1}">
<result name="hello">/WEB-INF/pages/message.jsp</result>
</action>
</package>public class DemoAction {
private String message;
public String toHello() {
this.message = "hello world!";
return "hello";
}
public String getMessage() {
return message;
}
}
2、默认值跳转
<action name="addUser"> <result>/WEB-INF/pages/addUser.jsp</result> </action>
访问地址:http://localhost:9000/demo/addUser.do
3、重定向跳转
<pre name="code" class="html"> <!-- 重定向连接 --> <action name="redirect"> <result type="redirect">/addPerson.jsp</result> </action>访问地址:http://localhost:9000/demo/redirect.do
4、带参的重定向跳转
<!-- 重定向连接 带参数-->
<action name="addPeron" class="cn.actions.PersonAction" method="edit">
<result type="redirect">/addPerson.jsp?username=${username}</result>
</action>
public class PersonAction {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String edit() throws UnsupportedEncodingException{
this.username=URLEncoder.encode("汤姆","UTF-8");
return "success";
}
} <body>
<h2>用户名:<%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8")) %></h2>
</body>
5、重定向Action
<!-- 重定向Action --> <action name="redirectAction"> <result type="redirectAction">addPeron</result> </action>
<action name="addPeron" class="cn.actions.PersonAction" method="edit">
<result type="redirect">/addPerson.jsp?username=${username}</result>
</action>
6、重定向其他包的Action
<package name="demo" namespace="/demo" extends="struts-default"> <!-- 重定向其他包的Action --> <action name="redirectOtherAction" > <result type="redirectAction"> <param name="actionName">hello</param> <param name="namespace">/other</param> </result> </action> </package> <package name="other" namespace="/other" extends="base"> <action name="hello"> <result>/WEB-INF/pages/hello.jsp</result> </action> </package>访问地址:http://localhost:9000/demo/redirectOtherAction.do
7、显示源代码(不执行代码)
<!-- 显示源代码Action(UTF-8编码) --> <action name="plainText"> <result type="plainText"> <param name="location">/index.jsp</param> <param name="charSet">UTF-8</param> </result> </action>
访问地址:http://localhost:9000/demo/plainText.do
8、包内共享视图
<package name="demo" namespace="/demo" extends="struts-default">
<!-- 包内共用视图 -->
<global-results>
<result name="message">/WEB-INF/pages/message.jsp</result>
</global-results>
<action name="person_*" class="cn.actions.PersonAction" method="{1}">
</action>
</package>public class PersonAction {
public String save(){
return "message";
}
}
访问地址:http://localhost:9000/demo/person_save.do
9、包外共享视图
Ohter 包继承了 base包 所以可以共享Base包的共享视图
<package name="base" extends="struts-default">
<!-- 包内外共享视图 -->
<global-results>
<result name="message">/WEB-INF/pages/message.jsp</result>
</global-results>
</package>
<package name="other" namespace="/other" extends="base">
<action name="person_*" class="cn.actions.PersonAction" method="{1}">
</action>
</package>
public class PersonAction {
public String save(){
return "message";
}
}访问地址:http://localhost:9000/other/person_save.do

浙公网安备 33010602011771号