ActionWildcard通配符配置

    xiaoxiao2021-03-25  78

    Wildcard:通配符

    使用通配符将配置量降到最低,一定要遵守约定优于配置的原则

    操作:

    写两个Action:

    (1)StudentAction:

    package wildcard.action; import com.opensymphony.xwork2.ActionSupport; public class StudentAction extends ActionSupport { public String add() { return "success"; } public String delete() { return "success"; } } (2)TeacherAction:

    package wildcard.action; import com.opensymphony.xwork2.ActionSupport; public class TeacherAction extends ActionSupport { public String add() { return "success"; } public String delete() { return "success"; } } struts.xml配置:

    <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.devMode" value="true" /> <package name="front" namespace="/front" extends="struts-default">

    <action name="student*" class="wildcard.action.StudentAction" method="{1}"> <result name="success_{1}"> /Student{1}_success.jsp </result> </action> <action name="*_*" class="wildcard.action.{1}Action" method="{2}"> <result > /{1}_{2}_success.jsp </result> </action>

    运行:

    运行时依旧namespace后面加上action的name属性,第一个*找到Action,第二个*找到方法,两个*找到对应的jsp页面。

    注意:

    如果action的return返回字符串修改了,不是默认的"success",一定要在result标签的添加name属性,通配符表示一致。

    ex:

    package wildcard.action; import com.opensymphony.xwork2.ActionSupport; public class StudentAction extends ActionSupport { public String add() { return "success_add"; } public String delete() { return "success_delete"; } } xml里, 修改为:

    <action name="student*" class="wildcard.action.StudentAction" method="{1}" > <result name="success_{1}"> /Student{1}_success.jsp </result> </action>

    转载请注明原文地址: https://ju.6miu.com/read-37407.html

    最新回复(0)