一、对struts.xml的进一步说明:
1. package不是action对应的包名,只是区分action,防止重名,一般以模块来命名。
2. namespace决定了action的访问路径,默认为"",可以接收所有路径的action。
namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,xxx/index.action,/xxx/yyy/index.action ,namespace最好也用模块来命名。
namespace不写,默认代表namespace="",一个请求,只要namespace从struts.xml匹配不到的,但action能匹配到,都会用该默认的namespace对应的action来处理。
一般用下面这个package来处理其他package处理不了的action:
<package name="main" namespace="" extends="struts-default">
<action name="index">
<result>
/xxx.jsp
</result>
</action>
</package>
这里http://host:8080/projectName/xxxx/hello ,http://host:8080/projectName/xxxx/fdaf/hello等写法都可以跳转到xxx.jsp,只要对应action正确匹配。
3.result节点name属性不写,默认代表name="success"。
二、第二个程序strtus_Action示例:
1.jsp默认编码格式改为chinese, National Standard (window > perference > jsp >...),编码格式GB18030.
2.新建一个UserAction.java:
public class UserAction extends ActionSupport{
//org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter f;
public String add() throws Exception
{
return "add_success";
}
public String del() throws Exception
{
return "del_success";
}
public String modify() throws Exception
{
return "modify_success";
}
}
2.sturts.xml:
<!-- Add packages here -->
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="GBK" />
<package name="user" namespace="/action" extends="struts-default">
<action name="*_*" class="com.wyx.user.action.{1}Action" method="{2}">
<result name="{2}_success">
/{1}_{2}_success.jsp
</result>
</action>
</package>
action标签下的class是action对应的类,包名下的完整路径,这里用到的{1}{2}为占位符、*为通配符,这样做的好处很明显,所有这个模块下的action都可以用着一个package来管理,很方便。但是一定要注意action和jsp文件的命名规范,{1}指的是action的类,类名首字母都是要大写,{2}指的是方法名,配置后,所有.../projectName/action/*_*格式的请求都会被这个action标签匹配到。所以action中所有方法的返回值、所有jsp页面的名字,都是根据action的名字和方法名为依据命名的,观察UserAction中的方法名字及其返回值与工程目录的关系,就明白了。
客户端请求示例:
<body>
<a href="<%=basePath%>action/User_add.action">添加好友</a>
<a href="<%=basePath%>action/User_del.action">删除好友</a>
<a href="<%=basePath%>action/User_modify.action">修改好友</a>
</body>
分享到:
相关推荐
毕设和企业适用springboot企业数据管理平台类及跨境电商管理平台源码+论文+视频
功能说明: 环境说明: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数据库:SqlServer2008r2(数据库版本无限制,都可以导入) 开发模式:mvc。。。
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot社交应用平台类及用户数据分析平台源码+论文+视频
大米外贸商城系统 简称damishop 完全开源版,只需做一种语言一键开启全球133中语言自动翻译功能,价格实现自动汇率转换,集成微信支付宝 paypal以及国外主流支付方式,自带文章博客系统。 软件架构 基于MVC+语言包模式,增加控制台,API导入产品方便对接其他系统(带json示例数据)。 使用要求 PHP7.4+ MYSQL5.6+ REDIS(可选) 安装方法 composer install 打开安装向导安装 http://您的域名/install 特色 1、缓存层增加时间与批量like删除 2、API产品导入方便对接其他系统 3、增加控制台命令行,命令行生成语言翻译包 4、后台一键开启自动翻译模式,支持全球133中语言,由于google代理翻译需要收费,这个功能需要付费。 5、可选购物车与ajax修改购物车产品 6、一键结算checkout 7、增加网站前台自定义路由 方便seo 更新日志 v3.9.7 集成鱼码支付接口,方便个人站长即使收款到账使用 v3.9.3 更新内容 1:增加ueditor与旧编辑器切换 2:增加可视化布局插
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot生鲜鲜花类及生物识别平台源码+论文+视频.zip
毕设和企业适用springboot企业健康管理平台类及视觉识别平台源码+论文+视频.zip
毕设和企业适用springboot视频编辑类及餐饮管理平台源码+论文+视频.zip
labview程序代码参考学习使用,希望对你有所帮助。
毕设和企业适用springboot社区物业类及智能仓储平台源码+论文+视频
毕设和企业适用springboot企业知识管理平台类及人工智能医疗平台源码+论文+视频
毕设和企业适用springboot汽车电商类及新闻传播平台源码+论文+视频
毕设和企业适用springboot生鲜鲜花类及全渠道电商平台源码+论文+视频.zip
毕设和企业适用springboot企业数据智能分析平台类及投票平台源码+论文+视频
毕设和企业适用springboot全渠道电商平台类及人工智能客服平台源码+论文+视频
毕设和企业适用springboot企业云存储平台类及AI数据标注平台源码+论文+视频
毕设和企业适用springboot人工智能客服系统类及旅游规划平台源码+论文+视频
毕设和企业适用springboot社交电商类及环境监控平台源码+论文+视频
毕设和企业适用springboot生鲜鲜花类及大数据存储平台源码+论文+视频