[英]JSF 2.0 object value in h:inputHidden?
我对JSF 2.0还是很陌生,所以这可能是一个非常简单的问题。
我现在想使用h:inputHidden将自定义对象从一页传递到另一页,因此可以使用request.getParameter("obj01")
来获取它。
我已经将整个对象传递到h:inputHidden的value属性中,
但是我得到以下错误:
Cannot convert com.project01.obj.web.obj01@10562017 of type class java.lang.String to class com.project01.obj.web.obj01
所以我想我做错了什么。
有人可以给我一些建议吗?
非常感谢你。
您只能通过请求传递字符串。 但是有一个解决方案:
写一个转换器。 一些代码示例可以在这里找到。
http://www.mkyong.com/jsf2/custom-converter-in-jsf-2-0/
编辑:
例如,我通过SelectOneMenu传递了对象。
<h:selectOneMenu id="inputX" value="#{someBean.someObject}" converter="someConverter">
<f:selectItems value="#{someBean.someObjectList}"/>
</h:selectOneMenu>
将转换器放在您的面孔配置中。
<converter>
<description>Converter - X</description>
<converter-id>someConverter</converter-id>
<converter-class>de.package.company.SomeConverter</converter-class>
</converter>
转换器:
public class SomeConverter implements Converter
{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
if (value != null)
return (YourBean) new YourBeanDAO().find(Long.parseLong(value));
return null;
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) throws ConverterException {
if (arg2 != null && arg2 instanceof YourBean)
return Long.toString(((YourBean) arg2).getId());
return null;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.