在jsp页面中动态添加按钮和文本框

时间:2014-12-09 10:28:14

标签: java javascript jquery jsp

<form:form action="approveAccount.html" method="GET">
<input type="submit" value="approvAll"/>
<p>Following Accounts are Pending to approve</p>    
<c:forEach items="${accountIdList}" var="val">
<li>${val}</li>                               
</c:forEach>        
</form:form>

val是从数据库中获取的值,我想添加一个提交按钮,并希望使用此获取的值来执行一些操作,获取多少值获取是动态决定的,如何在这种情况下todo ... ,我正在获取管理员需要批准的帐户ID,因此通过添加文本框,管理员可以将角色分配给此帐户,然后将其提交到数据库,这一切都发生在按钮的clk

2 个答案:

答案 0 :(得分:0)

假设您的服务类中有 accountIds 列表

ArrayList<Integer> accountIdList = new ArrayList<>();
accountIdList.add(1);
accountIdList.add(2);
accountIdList.add(3);

&安培;您已将此列表添加到 HTTP会话对象中以供进一步使用,如

session.setAttribute("accountIds",accountIdList);

在JSP中,您可以使用JSTL for-each loop创建动态按钮&amp;文本框如下

<c:forEach var="ids" items="${session.accountIds}" varStatus="loop">
    <input type="text" name="role${loop.index}" />
    <input type="submit" value="<c:out value=${ids} />" /> 
</c:forEach>

我希望这会有所帮助。

答案 1 :(得分:0)

如果我理解你的问题,那么当用户点击提交按钮时,你试图获得多个ID及其相关角色。您可以尝试以下方法来获取它们:

JSP:

<form:form action="approveAccount.html" method="GET">
  <input type="submit" value="approvAll"/>
  <p>Following Accounts are Pending to approve</p>    
  <c:forEach items="${accountIdList}" var="val">
    <input type="text" value="${val}" name="id"> 
    <select name="role">
        <option value="admin">Admin</option>
        <option value="user">user</option>
    </select>                              
  </c:forEach>        
</form:form>

的Servlet

String [] txt = request.getParameterValues("id");
String [] role = request.getParameterValues("role");

for (int i = 0; i < txt.length; i++){
    System.out.println(txt[i]+" "+role[i]);
}