<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