我是新的Java开发人员,我需要你的帮助。我已经看到了类似主题的问题答案,但我仍然不确定如何处理它,所以我想要求一些帮助。
我正在使用Liferay 6.2& Spring和我有一个jsp页面,我的表单编辑了一个caseType。在这种形式中,我想添加一个Roles复选框(以选择权限)。我希望能够在编辑caseType时显示所选的复选框。我的主要问题是我不确定要使用哪些变量。
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone="Asia/Kolkata"
提前感谢您的帮助!
答案 0 :(得分:1)
好吧,我相信我找到了解决方案。我的问题是我的Dto中没有合适的吸气剂/定型剂。
所以在我的控制器中,我有一个列出角色来自哪里(liferay-roles)
@ModelAttribute("roles")
public List<Role> getRoles() {
List<Role> allRoles = new ArrayList<Role>();
try {
allRoles = RoleLocalServiceUtil.getRoles(QueryUtil.ALL_POS,
ueryUtil.ALL_POS);
} catch (SystemException e) {
logger.error("Could Not get any Liferay Roles" + e.getMessage(), e);
}
return allRoles;
}
在我的Dto代码中,我有getter和Setter获取/设置Strings
的串联。
public String[] getCreateRoleIdsArray() {
return createRoleIds.split(",");
}
public void setCreateRoleIdsArray(String[] selectedRoles) {
Logger.getLogger(this.getClass()).error("setCreateRoleIdsArray");
String selRoles = new String();
for (String role : selectedRoles) {
selRoles = selRoles + "," + role;
}
setCreateRoleIds(selRoles);
}
最后在我的jsp文件中
<form:form name="wblCaseType" method="post" modelAttribute="wblCaseType"action="${saveWblCaseType}">
<form:hidden path="wblCaseTypeId" />
....
<tr>
<td><form:label path="createRoleIds"><liferay-ui:message key="roles"/></form:label></td>
<c:forEach items="${roles}" var="role">
<td><form:checkbox path="createRoleIdsArray" id="${role.roleId}" label="${role.name}" value="${role.roleId}" /></td>
</c:forEach>
</tr>