컨트롤러에서 보낸 객체를 JSP에서 처리하기 위해 Spring MVC 및 jQuery를 사용하고 있습니다.jQuery에서 변수 이름을 사용하여 modelAttribute에 액세스하는 방법
내 컨트롤러를 사용하여 JSP 여러 개체에 보내는 :
형태는 다음 클래스의 목적은modelAndView.addObject("roleForm" + rol.getRolecode(), form);
: 그래서
public class RoleForm
{
private String roleCode;
private LinkedHashSet<String> listEnabled;
... getters and setters ...
}
, 내가 보내고있다 객체를 키 roleFormADMIN로 , roleFormUSER 등이 있습니다. 이러한 객체의 수량과 이름은 데이터베이스에서 검색되므로 알 수 없습니다. 내 JSP에서
나는 각 ROL에 대해 접근하고있어, 그 대응 RoleForm :
<c:forEach items="${rolesList}" var="role">
<div class="role" id="${role}">
<label class="adminSectionTitle">
${role}
</label>
<form:form method="post" id="roleForm${role}" modelAttribute="roleForm${role}" action="roles.html">
<fieldset>
<form:hidden path="roleCode"/>
<div class="pickList">
<fieldset class="pickItems">
<legend >Enabled</legend>
<form:select path="listFunctEnabled" id="combo1" size="5" multiple="true">
<form:options items="${listFunctEnabled}" />
</form:select>
</fieldset>
</div>
</fieldset>
<div class="formButtons">
<input type="submit" value="<fmt:message key="button.save"/>" />
<input type="button" name="reset" onclick="location.href='<c:url value="roles.html"/>'" value="<fmt:message key="button.clear"/>" />
</div>
</form:form>
</div>
</c:forEach>
각 RoleForm의 속성 roleCode가 제대로 검색되지만 양식의 재산 listFunctEnabled을 (액세스 할 수 없습니다 그것은 비어있다).
양식의 이름 (예 : roleFormADMIN.listFunctEnabled)을 직접 작성한 경우 : options의 형식으로 목록의 모든 항목을 작성합니다.
roleForm $ {role} .listFunctEnabled를 사용하는 경우이를 String으로 간주하고 String에 listFunctEnabled라는 속성이 없음을 나타냅니다.
functenabled 목록을 업데이트하려면 각 역할마다 하나의 단추가 있어야하므로 각 역할마다 하나의 양식이 필요합니다.
어떻게하면됩니까?
'RoleForm'의 필드 이름은'listEnabled'입니다. 'getListFunctEndabled' 또는'getListEndabled'라는 이름의 getter가 있습니까? –
getListFunctEnabled라고 불렀습니다. 편집 할 때마다 나쁘다. – Goyo