struts2,action里面获取不了jsp页面中的值

使用jsp作为页面:<s:formname='form1'id='form1'method='get'action='testAction'><s:textfieldna... 使用jsp作为页面:
<s:form name='form1' id='form1' method='get' action='testAction'>
<s:textfield name="username" label="username"></s:textfield>
<s:password name="password" label="password"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
对应的action:
private String username;
private String password;
两个属性都有get和set方法,在execute()方法里:
System.out.println("username:"+username);
System.out.println("password:"+password);
发现打印的值是null。
不是有setter方法就能给action里的属性赋值吗?为什么是null?求高手解答!!
public String getUsername() {
System.out.println("调用username 的getter方法");
return username;
}

public void setUsername(String username) {
this.username = username;
System.out.println("调用 username 的setter方法");
}

public String getPassword() {
System.out.println("调用password的getter方法");
return password;
}

public void setPassword(String password) {
this.password = password;
System.out.println("调用password的setter方法");
}
展开
 我来答
五昊明0Hncdb
推荐于2016-07-06 · 超过27用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:66.9万
展开全部
是你form表没有对应到你的class类里,应该改为user.username,user.password,然后后台通过声明user类给予get和set方法才能得到你要的
追问
我的action类叫MyAction,属性是:private String username;  private String password;
你的意思是

这样?
追答
你这样是页面的处理,还有后台的Action处理类需要写private MyAction myAction和相应的get与set
这样就可以直接用myActiond.getUsername调用,
如果你的Action处理就在MyAction中,那就没必要这么写。
百度网友f30c93f
2013-07-16 · 超过25用户采纳过TA的回答
知道答主
回答量:155
采纳率:0%
帮助的人:71万
展开全部
你确定进了action了吗?里面是set不是setter。例如id:
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
你看看是不是你大小写错了?set里面一定要是this.username = username this.password=password

别写错了哦。可以用工具生成的,那就不会错的。
追问
帖出来了,没写错啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s136357491
2013-07-16 · TA获得超过223个赞
知道小有建树答主
回答量:295
采纳率:0%
帮助的人:142万
展开全部
你看看是不是set写错了,或者字段名不统一,最好复制下
追问
代码贴出来了,没写错啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0613032107
2013-07-16 · TA获得超过347个赞
知道小有建树答主
回答量:216
采纳率:0%
帮助的人:204万
展开全部
把get和set方法贴出来看看,问题应该在这几个方法上导致没法设置值
追问
贴出来了,麻烦帮忙看看
追答
这个地方的action地址是不是有问题啊,你struts的拦截后缀配的是什么啊,如果是“action”的话那么这里的action属性应该写成“testAction.action”,整个应该写成如下:

ps:我用你的代码试过了,我这边是正确的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式