0

我正在尝试在 ADF 中生成一个简单的选择。我试过这样的事情:

      <af:selectOneChoice label="#{bindings.items.label}" id="soc1"
                          value="#{bindings.items.inputValue}"
                          required="#{bindings.items.hints.mandatory}">
           <af:selectItem id="si3" value="L" label="Left"/>
           <af:selectItem id="si3" value="R" label="Right"/>
      </af:selectOneChoice>

根据 的文档af:selectItem,这应该生成与源代码中显示的内容相同的HTML<option>标记。然而,事实并非如此。属性更改为“ 1”、“2”(等等),并且日志文件中有一条消息指出无法将它们转换为整数。如果我将值更改为“34”和“52”,只是为了看看会发生什么,它们仍然更改为“1”和“2”。label=value=value=

文档清楚地说明 value= 属性指定要发送到服务器的值,并且没有提到它应该是整数,或者提供的值将被替换为新值。

谁能告诉我我做错了什么?或者这只是它应该工作的方式?

这是文档:http: //jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_selectItem.html

4

1 回答 1

2

您需要将 valuePassThru 属性设置<af:selectOneChoice>为 true。默认情况下,它设置为 false,这使得值成为索引。

 <af:selectOneChoice label="#{bindings.items.label}" id="soc1"
                      value="#{bindings.items.inputValue}"
                      valuePassThru="true"
                      required="#{bindings.items.hints.mandatory}">
       <af:selectItem id="si3" value="L" label="Left"/>
       <af:selectItem id="si3" value="R" label="Right"/>
  </af:selectOneChoice>
于 2013-09-25T08:33:53.890 回答