我正在尝试将值传递给 JSF/SEAM 中的转换类
public class ValueConverter implements Converter {
public Object getAsObject(FacesContext arg0, UIComponent arg1, String value) {
if (StringUtils.isNotBlank(value)) {
// logic etc here.
我的 xhtml 是:
<f:converter converterId="ValueConverter">
<f:attribute name="theMaxOrderSize" id="maxorder" value="#{_cartItem.item.maxOrderSize}"/>
</f:converter>
如何将参数值传递给 java 中的 Conversion 类?我开始错了吗?我认为我正在使用 JSF 1.2..
最佳答案
Bhesh 完全正确。您应该在 Validator
中进行验证工作。 .
至于具体问题,移步<f:attribute>
出<f:converter>
(或 <f:validator>
如果你正在听我们的话)进入输入组件,然后使用 UIComponent#getAttributes()
获得它。例如
<h:inputText ...>
<f:validator validatorId="valueValidator" />
<f:attribute name="theMaxOrderSize" id="maxorder" value="#{_cartItem.item.maxOrderSize}"/>
</h:inputText>
与
Object theMaxOrderSize = component.getAttributes().get("theMaxOrderSize");
// ...
(其中component
是UIComponent
方法的validate()
参数,它代表父输入组件)
您可以将其转换为 Integer
或任何对象类型 #{_cartItem.item.maxOrderSize}
代表。
关于jsf - 如何将参数值传递给 java 中的 Conversion 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6930994/