关于Struts2中param的作用
1、页面传参与配置传参的区别:
如果页面Form表单的参数在Action类中有相应的setter方法,则会优先取页面Form表单传过来的值,如果页面没有该属性同名的参数,则会从配置文件中取同名的参数值作为它的默认值
2、Action中调用配置的变量,只需要该参数的setter方法即可,不需手动写代码,Struts2默认会同名赋值。
例:
jsp页面
<form name="fm" action="paramTest.action" method="post"> <input type="text" name="username" value="wjlvivid"> <input type="text" name="password" value="123456"> <input type="submit" value="提交"> </form>
Action类 ParamTestAction.java
private String username; private String password; //相应的setter、getter方法..... public String paramTest(){ System.out.println("username:"+username+" password:"+password); return "success"; }
配置文件:
<action name="paramTest" class="com.sino.ParamTestAction" method="paramTest"> <param name="username">wjl</param> <param name="password">000000</param> <result name="success">/menu/menu.jsp</result> </action>
请求一下该action,可发现输出的值为:
username:wjlvivid password:123456
如果把<input type="text" name="password" value="123456">去掉,则输出 配置的参数值
username:wjlvivid password:000000
<param>的作用就是为Action中的某些属性赋一个默认值,通常这样做的如配置路径、文件名之类的....
这样就明白了。。
例如:
全局结果:
<global-results> <result name="success" type="json"> <param name="root">response</param> </result> </global-results>
action配置:
<action name="trainacontentType_*" method="{1}" class="traincontentTypeAction"> <param name="savePath">G:/images/videos/</param> <result name="toAdd">/view/train/addTrainFile.jsp</result> </action>
【当你用心写完每一篇博客之后,你会发现它比你用代码实现功能更有成就感!】
分类:
struts
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了