无法转换"#{bean.color}";用于bean javax.el.ValueExpression的属性颜色
我已经创建了一个自定义组件,它根据bean向页面显示一些数据。问题是我无法将bean绑定到我的组件。我在无法转换"#{bean.color}";用于bean javax.el.ValueExpression的属性颜色,java,jsf,el,custom-component,jsf-1.2,Java,Jsf,El,Custom Component,Jsf 1.2,我已经创建了一个自定义组件,它根据bean向页面显示一些数据。问题是我无法将bean绑定到我的组件。我在UIComponentELTag类中使用ValueExpresion。我收到这个错误: org.apache.jasper.jaspereException:PWC6338:无法为bean javax.el.ValueExpression的属性颜色转换“#{helloBean.color}”:PWC6348:未向PropertyEditorManager注册的属性编辑器 index.jsp
UIComponentELTag
类中使用ValueExpresion
。我收到这个错误:
org.apache.jasper.jaspereException:PWC6338:无法为bean javax.el.ValueExpression的属性颜色转换“#{helloBean.color}”:PWC6348:未向PropertyEditorManager注册的属性编辑器
index.jsp
hello.tld
你好
定制HelloTag
JSP
名称
java.lang.String
颜色
java.lang.String
HelloTag.java`
公共类HelloTag扩展UIComponentTag{
价值表达色彩;
欢迎;
字符串名;
公共价值表达式getColor(){
返回颜色;
}
public void setColor(值表达式颜色){
这个颜色=颜色;
}
@凌驾
受保护的void setProperties(UIComponent){System.out.println(“IN”);
super.setProperties(组件);
UIHello组件CST=(UIHello)组件;
if(color.isLiteralText()){
componentCst.setValueExpression(“颜色”,颜色);
}否则{
component.getAttributes().put(“color”,color.getExpressionString());
}
componentCst.getAttributes().put(“颜色”,“颜色:“+getColor()+”;”);
componentCst.getAttributes().put(“name”,getName());
}
}
UIHello.java
-扩展UIOutput
public类UIHello扩展UIOutput{
...
}
faces config.xml
你好
你好
希腊语
哈洛班多
一场
颜色
java.lang.String
绿色
欢迎
java.lang.String
白蛇
你好,Render
你好,Render
你好
你好
海洛伦德先生
您忘了在hello.tld
中用
将
属性的
包围起来
你好
定制HelloTag
JSP
--
您忘了在hello.tld
中用
将
属性的
包围起来
你好
定制HelloTag
JSP
--
错误消失了,但现在属性color=“#{helloBean.color}”文本,而不是helloBean.SOLVED中属性color的值-我使用此代码从ValueExpression对象获取值:color.getValue(FacesContext.getCurrentInstance().getELContext())错误消失了,但现在属性color=”#{helloBean.color}”文本,而不是helloBean.SOLVED中属性color的值-我使用此代码从ValueExpression对象获取值:color.getValue(FacesContext.getCurrentInstance().getELContext())