struts2的Action配置通配符

本文详细介绍了 Struts2 框架中如何通过配置文件实现不同页面请求与 Java 方法之间的映射,包括两种不同的配置方式,并探讨了命名规则及通配符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.注意,书写代码的时候一定要注意命名的规则,不要胡乱的命名,名称一定要有规律,否则就没法配置了。从页面过来的通配符用“*”表示,获取的时候用{1}来接收,如果用{0}那么就表示整个Action的名字了,如下:
页面名称:
user_add.jsp
user_delete.jsp
user_select.jsp
user_update.jsp
jsp页面:
<a href="<%=path %>/addUser.action">增加</a>
    <a href="<%=path %>/deleteUser.action">删除</a>
    <a href="<%=path %>/updateUser.action">修改</a>
    <a href="<%=path %>/selectUser.action">查询</a>
JAVA文件:
public class ChenAction extends ActionSupport
{
public String addUser()
{
   return SUCCESS;
}
public String deleteUser()
{
   return SUCCESS;
}
public String updateUser()
{
   return SUCCESS;
}
public String selectUser()
{
   return SUCCESS;
}
}
配置文件struts.xml
<package name="chenpackage" extends="struts-default">
   <default-action-ref name="error" />
   <action name="error">
    <result type="redirect">/error.jsp</result>
   </action>
   <action name="index">
    <result type="redirect">/index.jsp</result>
   </action>
 
   <action name="*User" class="com.struts2.chen.ChenAction" method="{1}User">
    <result>/msg/{1}User.jsp</result>
   </action>
</package>

2.处理更加简单,不用到ACTION中进行配置,只需要在页面上书写就可以判定调用的是什么方法处理。但是值得注意的是,方法名,页面名,Action的名字都必须完全一样。如下:
处理结果页面名称:
addUser.jsp
deleteUser.jsp
selectUser.jsp
updateUser.jsp
调用页面:
    <a href="<%=path %>/addUser.action">增加</a>
    <a href="<%=path %>/deleteUser.action">删除</a>
    <a href="<%=path %>/updateUser.action">修改</a>
    <a href="<%=path %>/selectUser.action">查询</a>
struts.xml配置:
<package name="chenpackage" extends="struts-default">
   <default-action-ref name="error" />
   <action name="error">
    <result type="redirect">/error.jsp</result>
   </action>
   <action name="index">
    <result type="redirect">/index.jsp</result>
   </action>
 
   <action name="*" class="com.struts2.chen.ChenAction" method="{0}">
    <result>/msg/{0}.jsp</result>
   </action>
</package>
处理的java文件:
public class ChenAction extends ActionSupport
{
public String addUser()
{
   return SUCCESS;
}
public String deleteUser()
{
   return SUCCESS;
}
public String updateUser()
{
   return SUCCESS;
}
public String selectUser()
{
   return SUCCESS;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值