JSF的问题
mty 2004-10-25 05:10:57 public class UserNumberBean implements Serializable{
ArrayList ymdList;
String ymdSel;
public UserNumberBean() {
//ymdList (HashMap)
ymdList = new ArrayList();
HashMap map = new HashMap();
map.put("name", "2004年");
map.put("code", "2004");
ymdList.add(0, map);
HashMap map1 = new HashMap();
map1.put("name", "2005年");
map1.put("code", "2005");
ymdList.add(1, map1);
}
/**
* @return ymdList
*/
public ArrayList getYmdList() {
return ymdList;
}
/**
* @param ymdList ymdList
*/
public void setYmdList(ArrayList ymdList) {
this.ymdList = ymdList;
}
/**
* @return ymdSel
*/
public String getYmdSel() {
return ymdSel;
}
/**
* @param ymdSel ymdSel
*/
public void setYmdSel(String ymdSel) {
this.ymdSel = ymdSel;
}
}
.JSP
ymdSel:<h:selectOneRadio id="ymdSel" value="#{UserNumberBean.ymdSel}">
<c:forEach var="item" items="${UserNumberBean.ymdList}">
<%--f:selectItem itemValue="#{item.code}" itemLabel="#{item.name}"/--%>
</c:forEach>
</h:selectOneRadio>
报错:
org.apache.jasper.JasperException: /greeting.jsp(66,5) TLD??????????attribute?????????items?????????????
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:43)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:362)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:944)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:699)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1445)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2167)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2217)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:719)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1445)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2167)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2217)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:719)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1445)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2167)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2217)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:719)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1445)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2167)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2217)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2223)
org.apache.jasper.compiler.Node$Root.accept(Node.java:460)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2167)
org.apache.jasper.compiler.Validator.validate(Validator.java:1478)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:419)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:402)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:262)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:210)
javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
sun.reflect.GeneratedMethodAccessor308.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
java.security.AccessController.doPrivileged(Native Method)
java.security.AccessController.doPrivileged(Native Method)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:147)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:324)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
如果ymdList为ymdList.add(new SelectItem("aa", "bb"));
用f:selectItems value="#{UserNumberBean.ymdList}" />就没问题.
是不是ArrayList中包含的必须是SelectItem对象?不能为别的?