Struts2配置的Param如何调用?

<packagename="land"namespace="/"extends="struts-default"><actionname="UserLand"class=... <package name="land" namespace="/" extends="struts-default">
<action name="UserLand" class="com.UserLandAction">
<param name="userName"></param>
<param name="password"></param>
<result name="success">/manage/index.jsp</result>
<result name="error">/userLand.jsp</result>
</action>
</package>

以上Struts2 配置文件里的
<param name="userName"></param>
<param name="password"></param>

和在Action里写

private String userName;
private String password;

public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
问题1:两者有什么区别?
问题2:如有采用配置文件的方式,在Action中如何调用配置的变量?
展开
 我来答
198901245631
2015-08-01 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1690万
展开全部
方法一:直接通过”$(param.name)“ 进行参数值调用。
方法二:可以通过“ request.getParameter (name)”进行参数值调用。
解释:name值的话,已经在struts中进行了映射,可以通过方法一el表达式进行直接调用,或者是在jsp中通过get方法进行参数值获取。
百度网友e51baf0
2010-11-30 · TA获得超过255个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:74.8万
展开全部
不明白你什么意思。。。
UserName跟Password应该是从表单得到的吧。。跟Action里的变量是对应的。。
param的意思是你配置的那个Action里包含的变量,Action类里面必须得有set方法,get方法可以没有,配置完了之后,提交你的页面,你就可以直接取到表单上面的username跟password了。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjlvivid
2010-11-30 · TA获得超过2423个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:207万
展开全部
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中的某些属性赋一个默认值,通常这样做的如配置路径、文件名之类的....
明白了么~~?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
形印声传2019
2010-11-30 · TA获得超过482个赞
知道小有建树答主
回答量:383
采纳率:100%
帮助的人:320万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式