如何在struts 1.2中使用html:link传递html:text值

时间:2011-07-12 16:36:06

标签: java javascript jsp struts struts-1

我的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>

1 个答案:

答案 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
}
}