我的jsp页面使用逻辑迭代显示列表。显示的每一行都有一个编辑链接。当编辑链接点击名称将更改为文本框,以便可以编辑它,并与提交链接一起发送。 html:我需要用html:link发送的文本值。 我的jsp的一部分在下面,我有
html:text property =“newId”value =“<%= modId%>”/>我希望将此属性作为带有html链接的hashmap传递,因为我发送“/> as param1请帮助。或建议任何其他方式来执行此操作。谢谢。
####################################################################################
<logic:equal name="mode" value ="1">
<td><bean:write name="display" property="productId"/></td>
<logic:notEqual name="edit" value="1">
<td><bean:write name="display" property="productName" /></td>
</logic:notEqual>
<logic:equal name="edit" value ="1">
<logic:equal name="display" property="productName" value ="<%=modId%>">
<td><html:text property="newId" value="<%=modId%>"/></td>
</logic:equal>
<logic:notEqual name="display" property="productName" value ="<%=modId%>">
<td><bean:write name="display" property="productName" /></td>
</logic:notEqual>
</logic:equal>
<bean:define id="param1" name="display" property="productName"/>
<%
String changedName=request.getParameter("changedName");
System.out.println(" st: " + changedName);
java.util.HashMap params = new java.util.HashMap();
if(param1!=null)
params.put("objectToEdit", param1);
params.put("abc",param1);
pageContext.setAttribute("paramsName", params);
%>
</logic:equal>
#####################################################################################
Same JSP HTML:LINK PArt
#######################################
<html:link action="Manager?edit=1" name="paramsName" onclick="return modify()">
<logic:equal name="edit" value ="1">
<logic:equal name="display" property="productName" value ="<%=modId%>">
<img src="../images/commit.png" border="0" style="background-color:blue" title=" bean:message key="commit.data"/>" >
</logic:equal>
</logic:equal>
</html:link>
答案 0 :(得分:0)
我用java脚本做过 希望我的解决方案可以帮助某人
function modify(){
var textBox = document.getElementById('editableTextBox');//text box name
var newName = document.getElementById('editableTextBox').value;
if(textBox!=null){
var table = document.getElementsByTagName("table");
var rows = table[3].rows;
var rowCount=0;
for(i=1;i<rows.length;i++){
rowCount = i;
var cells = rows[i].cells;
if(cells[1].hasChildNodes()){
var nodeName = cells[1].childNodes[0].nodeName;
if(nodeName=="INPUT"){
break;
}
}
}
var reqCell =rows[rowCount].cells[cells.length-2];
var oldLink = reqCell.childNodes[1].getAttribute("href"); //getOld link
reqCell.childNodes[1].setAttribute("href",oldLink+"&newName="+newName) //set href with appending text box value
}
}