JSF的问题
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对象?不能为别的?
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对象?不能为别的?
...全文
相关推荐
JSF中文问题解决方法完整版
这篇博文“JSF中文问题解决方法完整版”提供了关于如何处理JSF框架在处理中文字符时可能出现的问题的解决方案。
JSF初学问题
这通常是由配置文件错误、页面配置不当或应用程序结构问题引起的。解决这类问题的关键在于仔细检查并修正上述提到的配置和代码。通过上述步骤,大多数情况下都能有效解决问题,让你能够顺利继续学习JSF。
jsf在实际 B/S 系统开发中的问题
提供的“jsf_test”压缩包可能包含了一些JSF的测试代码或示例,用于帮助理解JSF的工作原理和问题排查。通过深入研究这些代码,开发者可以更好地掌握JSF的使用技巧和解决实际问题的方法。
经理:JSF的aplicando conceitos de Gerenciamento的问题
调试时,开发者可以利用JSF提供的诊断工具和日志信息来定位问题。
CDI , JSF2.0 项目兼容性问题总结
以上这些问题和解决方案都是在实践中积累的经验,对于CDI+JSF2.0项目在WebSphere 8.5环境下的部署和运行至关重要。理解和解决这些问题有助于提高应用的稳定性和用户体验。


Java SE
