当存在一个table列表,你想要通过点击每一行的行button,将这一行的行信息带入后台或者另一个页面。在我尝试在jsp中的循环迭代如下时,传递出去的值却永远是循环迭代第一次的所hidden的值。
查看将各种struts或者terasoluna标签转换成html标签后的代码时发现,hidden的值都传递给了form里的同一个变量。
<input type="hidden" name="scsf12count" value="0">
<input type="hidden" name="scsf12count" value="1">
<input type="hidden" name="scsf12count" value="2">
因此是错误的。
于是我尝试使用js方法。
下面是我的js方法:
下面是我修改后的迭代:
结果是正确的。
正确的道路多么难得啊,我中间使用<ts:submit>标签传递迭代循环的index数<%= String.valueOf(idx + 1) %>和idx都失败了。后来改用el表达式却成功了。特此记录一下。因为网上说的方法我看到的几乎都是错的。
本文介绍了在Struts框架下,如何处理table列表中行按钮的点击事件,以便将行信息传入后台或新页面。在初始尝试中,通过隐藏字段传递迭代索引值时出现错误,所有hidden字段都指向同一变量。通过引入JavaScript函数,使用EL表达式成功实现了点击按钮时更新隐藏字段的值,从而正确获取行数据。
42

被折叠的 条评论
为什么被折叠?



