struts2 select 取值问题
现在前台显示正常,可是一提交表单 就出错 比如我select 标签的 name属性写的是categoryId就报找不到 setCategoryId()这个方法
action:
private int categoryId; 有get set
private List<Category> allCategory; 有get set 从数据库里读出的每个记录放到Category里
再把每个Category放到list里,然后传到页面
jsp:
<s:select list="allCategory" name="categroyId" listKey="categoryId" listValue="categoryName"></s:select>
我把action里 categoryId 打出来 我看是0 那就是取不到值
而且我测试了一个最简单的
<select name="tt">
<option value="1">足球</option>
<option value="2">篮球</option>
</select>
我从action 里 定义个变量 tt 也是取不到值
哪位大哥帮帮小弟呀,困扰我好几天了都。。。。。 struts select --------------------编程问答-------------------- 楼主的描述好混乱啊。。。。
用迭代吧!!!把数据迭代出来。。。 --------------------编程问答-------------------- jsp代码:
<select name="tt">
<option value="1">足球</option>
<option value="2">篮球</option>
</select>
java代码:
action里面
private int tt; 再加上tt的get()、set()方法,就可以在后台接收到下拉列表的选择值。 --------------------编程问答--------------------
我就是这么做的 可还是取不到值。 --------------------编程问答-------------------- getXXX方法的XXX要与你的属性同名 --------------------编程问答-------------------- allCategory 这个集合里你取到值了没有?如果可以用iterotor得到值 --------------------编程问答--------------------
第一、你的select元素是否放在form表单中、
第二、在Action中调试一下、看看request是否为null、如果为null你是怎么都取不到值的
如果满足以上两点还取不到值、那么......祈祷吧哥们! --------------------编程问答--------------------
额、还有就是form表单的属性method设置为method="post" --------------------编程问答-------------------- 错误信息贴上... --------------------编程问答-------------------- 你的action中定义一个private Category category;
再写
<s:select list="allCategory" name="category.categroyId" listKey="categoryId" listValue="categoryName"></s:select>
试试 --------------------编程问答-------------------- 你真能跳到后台,变量都对了? 应该是个很小的错误 手误了 没注意 重写一遍估计就好了 --------------------编程问答--------------------
1.s:select这个标签是可以使用的。确认在jsp中添加了<%@ taglib uri="/struts-tags" prefix="s"%>;
2.如果数据需要传道后台,需要放到form或者使用ajax获取。确认你的标签在form中,可以使用浏览器的debug功能查看网络,看看你的数据是否被提交了。
3.如果提交了后台还不到,那看看名字是否一致,get,set方法,数据类型是否一致吧。 --------------------编程问答-------------------- 现在能取值了 又发现了一问题,不管是文本框 下拉框,我取值时输入的值最少是1位以上,要不然就取不到,之前select取不到也是因为value的值 都是 1,2,3 ,后来改成100,101,102 就能取到值了,而且别的也是,我写了一个用户登录测试了一下也是,用户名 比如写 t 就不行,写tt就行,这是怎么回事呀??? --------------------编程问答-------------------- 竟有如此神奇的事?
不过有点不大明白的,楼主用一个list的allCategory属性是要动态显示下拉菜单的值麽?
如果不是的话,就没有必要用list了。
select可以只用一个基本的数据类型就可以的了! --------------------编程问答--------------------
这个太神奇了,是不是什么地方限定了长度的
补充:Java , Web 开发