如何将参数值传递给java中的Conversion类?

Ont*_*omo 3 jsf

我试图将值传递给JSF/SEAM中的转换类

public class ValueConverter implements Converter {

public Object getAsObject(FacesContext arg0, UIComponent arg1, String value) {
    if (StringUtils.isNotBlank(value)) {
    // logic etc here.
Run Code Online (Sandbox Code Playgroud)

我的xhtml是:

<f:converter converterId="ValueConverter">
<f:attribute name="theMaxOrderSize" id="maxorder" value="#{_cartItem.item.maxOrderSize}"/>
</f:converter>
Run Code Online (Sandbox Code Playgroud)

如何将参数值传递给java中的Conversion类?我开始错了吗?我正在使用JSF 1.2我认为..

Bal*_*usC 6

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>
Run Code Online (Sandbox Code Playgroud)

Object theMaxOrderSize = component.getAttributes().get("theMaxOrderSize");
// ...
Run Code Online (Sandbox Code Playgroud)

(该方法componentUIComponent参数在哪里validate(),它代表父输入组件)

您可以将其Integer强制转换为#{_cartItem.item.maxOrderSize}代表的任何对象类型.