现在要"设置权限",因此想通过将数据库权限表中的数据取到"权限名"下拉框中来,好让设置权限的人进行选择.前提是:权限表中是有数据的
权限表的结构如下:
privId(int)权限编号,privName(String)权限名,privDescrip(String)权限描述,parentId(int)父权限编号
权限VO类:
Privilege.java:
对privId,privName,privDescrip,parentId进行setter和getter等
ISettingDAO.java:
//取得所有的权限
public List getAllPrivs()throws Exception;
ISettingDAOImpl.java:
//取得所有的权限
public List getAllPrivs() throws Exception {
// TODO Auto-generated method stub
List all=null;
String hql="FROM Privilege as p";
Query q=super.getSession().createQuery(hql);
all=q.list();
return all;
}
PrivilegeForm.java:
//权限名
private String privName; /** parentId property */
//父权限号
private int parentId; /** privDescri property */
//权限描述
private String privDescri; /** privId property */
//权限编号
private int privId;
...setter/getter...
SettingAction.java:
List all=null;
try {
all=this.isettingdao.getAllPrivs();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("all", all);
....
addsetting.jsp: <html:form action="setting.do">
权限名
<html:select property="privId">
<html:options collection="all" labelProperty="privName" property="privId"/>
</html:select>
现在就是抛出javax.servlet.jsp.JspException: Cannot find bean under name all此异常
该如何解决整个问题,望高手赐教
权限表的结构如下:
privId(int)权限编号,privName(String)权限名,privDescrip(String)权限描述,parentId(int)父权限编号
权限VO类:
Privilege.java:
对privId,privName,privDescrip,parentId进行setter和getter等
ISettingDAO.java:
//取得所有的权限
public List getAllPrivs()throws Exception;
ISettingDAOImpl.java:
//取得所有的权限
public List getAllPrivs() throws Exception {
// TODO Auto-generated method stub
List all=null;
String hql="FROM Privilege as p";
Query q=super.getSession().createQuery(hql);
all=q.list();
return all;
}
PrivilegeForm.java:
//权限名
private String privName; /** parentId property */
//父权限号
private int parentId; /** privDescri property */
//权限描述
private String privDescri; /** privId property */
//权限编号
private int privId;
...setter/getter...
SettingAction.java:
List all=null;
try {
all=this.isettingdao.getAllPrivs();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("all", all);
....
addsetting.jsp: <html:form action="setting.do">
权限名
<html:select property="privId">
<html:options collection="all" labelProperty="privName" property="privId"/>
</html:select>
现在就是抛出javax.servlet.jsp.JspException: Cannot find bean under name all此异常
该如何解决整个问题,望高手赐教
<html:options />从来没有用过,给你顶一下~
关键是你帮我看下那个异常吧,它是找不到那个all bean,是什么原因呢
<logic:notEmpty>
<html:select property="privId">
<logic:iterate>
<html:options />
</logic:iterate>
</html:select>
</logic:notEmpty>
其他属性自己加上去就好了
<html:select property="lid">
<html:optionsCollection label="privName" value="privId" name="实体存储名"/>
</html:select>
<html:optionsCollection label="privName" value="privId" name="all"/>
</html:select>
<html>
<c:set var="arr" valure="<%= new package.class.getAllPrivs() >" scope="page"></c:set>
<select name="">
<c:foreach var="obj" items=${pageScope.arr}>
<option value="">${obj.XXXX} </opention>
</c:froeach>
</select>
</html>
表达式语言:
<select //这里的你知道>
<c:foreach var="name" items=${pageScope.var}>
<option value="">${name.JavaBean} </opention>
</c:froeach>
</select>