1.本人在写js代码时不知道为什么 只能写成下面这种情况
<
h:inputText value
=
"
#{user.name}
"
id
=
"
name
"
valueChangeListener = " #{user.s} " binding = " #{user.ui} " onmouseout = " document.forms.form['form:name'].value='nihao' " >
valueChangeListener = " #{user.s} " binding = " #{user.ui} " onmouseout = " document.forms.form['form:name'].value='nihao' " >
</
h:inputText
>
而写成onmouseout="document.forms[0].name.value='nihao'"或onmouseout="document.forms.form.elements['name'].value='nihao'"则不行。郁闷中。。。。。。。。。等待高人指点
本人认为是jsf在命名元素时自动将名字加上了form名。即id为name那么 在jsf标签中则为formName:name(form名为formName)
所以改成οnmοuseοut="document.forms.form.elements['form:name'].value='nihao' 则是可以的。
2、
<h:selectManyCheckbox layout="pageDirection"
value="#{user.preferColors}">
<f:selectItems value="#{requestScope.items}"/>
</h:selectManyCheckbox><p>
items 、<1>可以提供一个Map对象,Map的key-value会分别作为选项的label-value。<2>可以提供list或数组对象,例如List<SelectItem> 。否则需提供类型转唤器
<%
List < SelectItem > list = new ArrayList < SelectItem > ();
list.add( new SelectItem( " 11 " ));
list.add( new SelectItem( " 61 " ));
Map map = new HashMap();
map.put( " 1 " , " map1 " );
map.put( " 2 " , " map2 " );
map.put( " 4 " , " map4 " );
map.put( " 3 " , " map3 " );
request.setAttribute( " list " , list);
request.setAttribute( " map " , map);
request.setAttribute( " s " , " ss " );
%>
< p >
< h:selectManyCheckbox id = " newsletters " layout = " pageDirection " >
< f:selectItem itemValue = " 1 " itemLabel = " item1 " />
< f:selectItem itemValue = " 2 " itemLabel = " item2 " />
< f:selectItem itemValue = " 3 " itemLabel = " #{requestScope.s} " />
< f:selectItems value = " #{requestScope.list} " />
</ h:selectManyCheckbox >
</ p >
< h:selectOneMenu id = " shippingOption " required = " true "
value = " #{cashier.shippingOption} " >
< f:selectItem itemValue = " 1 " itemLabel = " item1 " />
< f:selectItem itemValue = " 2 " itemLabel = " item2 " />
< f:selectItem itemValue = " 3 " itemLabel = " #{requestScope.s} " />
< f:selectItems value = " #{requestScope.map} " />
</ h:selectOneMenu >
< p >
< h:selectManyListbox >
< f:selectItem itemValue = " 1 " itemLabel = " item1 " />
< f:selectItem itemValue = " 2 " itemLabel = " item2 " />
< f:selectItem itemValue = " 3 " itemLabel = " #{requestScope.s} " />
< f:selectItems value = " #{requestScope.map} " />
</ h:selectManyListbox >
</ p >
List < SelectItem > list = new ArrayList < SelectItem > ();
list.add( new SelectItem( " 11 " ));
list.add( new SelectItem( " 61 " ));
Map map = new HashMap();
map.put( " 1 " , " map1 " );
map.put( " 2 " , " map2 " );
map.put( " 4 " , " map4 " );
map.put( " 3 " , " map3 " );
request.setAttribute( " list " , list);
request.setAttribute( " map " , map);
request.setAttribute( " s " , " ss " );
%>
< p >
< h:selectManyCheckbox id = " newsletters " layout = " pageDirection " >
< f:selectItem itemValue = " 1 " itemLabel = " item1 " />
< f:selectItem itemValue = " 2 " itemLabel = " item2 " />
< f:selectItem itemValue = " 3 " itemLabel = " #{requestScope.s} " />
< f:selectItems value = " #{requestScope.list} " />
</ h:selectManyCheckbox >
</ p >
< h:selectOneMenu id = " shippingOption " required = " true "
value = " #{cashier.shippingOption} " >
< f:selectItem itemValue = " 1 " itemLabel = " item1 " />
< f:selectItem itemValue = " 2 " itemLabel = " item2 " />
< f:selectItem itemValue = " 3 " itemLabel = " #{requestScope.s} " />
< f:selectItems value = " #{requestScope.map} " />
</ h:selectOneMenu >
< p >
< h:selectManyListbox >
< f:selectItem itemValue = " 1 " itemLabel = " item1 " />
< f:selectItem itemValue = " 2 " itemLabel = " item2 " />
< f:selectItem itemValue = " 3 " itemLabel = " #{requestScope.s} " />
< f:selectItems value = " #{requestScope.map} " />
</ h:selectManyListbox >
</ p >