在structs2.1中,action如何设置的默认值,以及action如何获得的值(即知道哪个选项被选中了)。最好可以上传具体例子代码
[b]问题补充:[/b]
我用的是structs 2.1.6, 以下是我的代码:
jsp:
[code="java"]
please select language
listKey="id_language" listValue="name_language">/s:select
submit
/s:form[/code]
Action:
[code="java"] private String language_selected;
public String execute() throws Exception {
System.out.print("language_selected:"+language_selected);
return Action.SUCCESS;
}[/code]
每次我按完"submit"之后,eclipse输出结果是:
language_selected:null
即action无法获得客户端选择的值。
[b]问题补充:[/b]
html代码:
[code="java"] please select language name="language_selected" id="language_selected">
english
japanese
han yu
xi yu
other
</select> <a href="myAction.action">submit</a>[/code]
这个jsp是从myAction进去的,当用户重新选择语言点击"submit"后,jsp又提交到myAction, myAction获得数据更新后再次回到该jsp
submit
这个算什么提交啊,
要放在表单里才能把select的值提交到服务端啊,通过链接是没办法的,
除非你用js动态构造一个表单再提交
你这样写
action 里写一个变量xxx 的get和set方法
private String xxx;
然后再页面上
保证id与action里变量名一致,就可以传值过来了
好好看看这文章
http://www.iteye.com/topic/320972
问题出现在listValue="name_language">
这样直传可能不行,你可能要写js了,麻烦一点了,写一个hidden
id="language_selected" name="language_selected"
onchange时把值存到hidden里
你确认你的select下拉框在页面上是有值的吗,
你查看下jsp产生的html源码,把这部分html的代码粘出来