简要描述Struts2中的Action的访问方式及跳转,在struct. 中进行配置,用返回值来决定要跳转的界面

<%@ page language=\"java\" contentType=\"text/html; charset=UTF-8\"
    pageEncoding=\"UTF-8\"%>
<!DOCTYPE html>
<html>
<head>
<  http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
< >Insert   here</ >
</head>
<body>
<!-- 传统方式-->
<a href=\"{pageContext.request.contextPath}/saveCustormer.action\">保存客户</a>
<a href=\"{pageContext.request.contextPath}/deleteCustormer.action\">删除客户</a>
<!--通配符方式 常用-->
<a href=\"{pageContext.request.contextPath}/ man_save.action\">保存联系人</a>
<a href=\"{pageContext.request.contextPath}/ man_delete.action\">删除联系人</a>
<!-- 动态方法访问形式,注意变化user!save,就是说是名叫user中的save方法 -->
<a href=\"{pageContext.request.contextPath}/user!save.action\">保存用户</a>
<a href=\"{pageContext.request.contextPath}/user!delete.action\">删除用户</a>
</body>
</html>

 这个参考一下jsp界面内容的变化,其中要注意的是通配符的方式,先加载 ManAction类中的所有方法,然后根据通配符来判断要使用哪一种方法。比如取的名字为 man_*,就是加载 ManAction的所有类给它们一个前缀叫 man,然后请求的 man_save就是执行 ManAction类中的save的方法。这个前缀是我个人方便理解说的,不一定对,望各位博友指正。嘿嘿。里面要访问的类在这里就不呈现了,大家可以用简单的System.out.println(\"这个是传统方式的跳转\");来检验一下,因为本人最近在学框架,所以在这里做个笔记。

<constant name=\"struts.enable.DynamicMethodInvocation\" value=\"true\"/>
<!--要想使用动态方式的访问,就要配置上面的这段内容,value=\"true\"-->
<package name=\"demo2\" namespace=\"/\" extends=\"struts-default\">
 <!-- 传统的方式 -->
<action name=\"saveCustormer\" class=\"com.edu.action.CustomerAction\" method=\"save\"/>
<action name=\"deleteCustormer\" class=\"com.edu.action.CustomerAction\" method=\"delete\"/>
<!-- 通配符的方式 -->
<action name=\" man_*\" class=\"com.edu.action. ManAction\" method=\"{1}\"> 
<!-- 1表示第一个* -->
<result name=\"saveok\" >/demo1/success.jsp</result>
<!--返回的结果值,来决定跳转的方向-->
<result name=\"deleteok\">/demo1/success.jsp</result>
</action>
<!--动态方式的访问-->
<action name=\"user\" class=\"com.edu.action.Useraction\">
</package>

 

收藏 打印