Javascript 在JSTL中迭代多个不同大小的项
我的JSP页面收到两个列表:一个是所有可用的授权列表,另一个是一个特定用户可用的授权列表。我想创建一个复选框列表,其中列出了所有的权限,但只选中了用户的权限。有人能给我指个方向吗 更新1 这是显示所有自动化的html/jstl代码:Javascript 在JSTL中迭代多个不同大小的项,javascript,jquery,spring,jsp,jstl,Javascript,Jquery,Spring,Jsp,Jstl,我的JSP页面收到两个列表:一个是所有可用的授权列表,另一个是一个特定用户可用的授权列表。我想创建一个复选框列表,其中列出了所有的权限,但只选中了用户的权限。有人能给我指个方向吗 更新1 这是显示所有自动化的html/jstl代码: <div class="row" id="autorizacoes ${item.id}"> <c:forEach var="item_auth" items="${autorizacoes}">
<div class="row" id="autorizacoes ${item.id}">
<c:forEach var="item_auth" items="${autorizacoes}">
<input type="checkbox" name="${item_auth.nome}" onclick="mudaAutorizacao(${item_auth.nome})">${item_auth.nome}
</c:forEach>
</div>
这是来自AutorationDAO的方法,该方法从数据库读取Autorations:
public List<Autorizacao_usuario> getListaAutorizacoes()
{
List<Autorizacao_usuario> lista = new ArrayList<Autorizacao_usuario>();
conecta();
if(executa("SELECT id, nome, descricao FROM autorizacoes;")) {
do{
Autorizacao_usuario auth = new Autorizacao_usuario(getInt(1), getString(2), getString(3));
lista.add(auth);
}while(proximo());
}
return lista;
}
试着这样做:
<div class="row" id="autorizacoes ${item.id}">
<c:forEach var="item_auth" items="${autorizacoes}">
<c:set var="isChecked" value="${false}"/>
<c:forEach var="user_auth" items="${userAutorizacoes}">
<c:if test="${user_auth.id == item_auth.id}"> <!-- here compare according ID or any unique attribute -->
<c:set var="isChecked" value="${true}"/>
</c:if>
</c:forEach>
<input type="checkbox" name="${item_auth.nome}" onclick="mudaAutorizacao(${item_auth.nome})" <c:if test="${isChecked}">checked="checked"</c:if> />${item_auth.nome}
</c:forEach>
</div>
${item_auth.nome}
它会检查每个
项目的身份验证
是否等于用户的授权,如果是,它会在checkbox元素中设置checked属性。您的列表是如何工作的?如何比较两个列表中的哪个项目?请出示一些代码。对不起,我弄错了。代码现在包括在内。
package com.HorarioLivre.core;
public class Autorizacao_usuario {
private int Id;
private String nome;
private String descricao;
public Autorizacao_usuario()
{
this.setId(0);
this.setNome(null);
this.setDescricao(null);
}
public Autorizacao_usuario(int id, String nome, String descricao)
{
this.setId(id);
this.setNome(nome);
this.setDescricao(descricao);
}
public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getDescricao() {
return descricao;
}
public String setDescricao(String descricao) {
this.descricao = descricao;
return descricao;
}
}
<div class="row" id="autorizacoes ${item.id}">
<c:forEach var="item_auth" items="${autorizacoes}">
<c:set var="isChecked" value="${false}"/>
<c:forEach var="user_auth" items="${userAutorizacoes}">
<c:if test="${user_auth.id == item_auth.id}"> <!-- here compare according ID or any unique attribute -->
<c:set var="isChecked" value="${true}"/>
</c:if>
</c:forEach>
<input type="checkbox" name="${item_auth.nome}" onclick="mudaAutorizacao(${item_auth.nome})" <c:if test="${isChecked}">checked="checked"</c:if> />${item_auth.nome}
</c:forEach>
</div>