我希望实现单击标题,匹配的id被发送到Action,但Action中的id始终为零。
Action使用id搜索数据库中的匹配记录并显示在另一个jsp中。
function saveSettings() {
var count = 1; //count for db
var checked = []; //array of checked values
var inc = 0; //only incremented when checkbox is checked
var dataString = "x";
for (var i = 0; i <= 2; i++) { //loads checked array with checked values
if (document.getElementById("check" + i).checked == true) {
checked[inc] = document.getElementById("check" + i).value;
inc++;
}
}
if (checked.length > 0) { // loads checked values into dataString
for (var i = 0; i < checked.length; i++) {
if (i == 0) {
dataString = "co_" + count + "=" + checked[i]
}
else {
dataString = dataString + "&co_" + count + "=" + checked[i]
}
count++;
}
}
alert(dataString)
}
答案 0 :(得分:3)
id
已被弃用(除非您使用的是旧版本)。请改用<s:iterator>
。
在var
内使用<s:param>
(为了更好的编码,请记住指定命名空间)。
然后从<s:url>
引用<s:url>
。
最后,确保您的行动中有正确的Setter。
<s:a>
答案 1 :(得分:0)
使用<s:param>
标记向服务器发送值。所以您的代码看起来像
<s:iterator id="n" value="news">
<tr>
<td>
<s:url action="GETNEWS" var="getNews">
<s:param name="id"><s:property value="#n.id"/></s:param>
<s:a href="%{getNews}">
<s:property value="#n.title"/>
</s:a>
</s:url>
</td>
</tr>
</s:iterator>