1.本人在写js代码时不知道为什么 只能写成下面这种情况
<
h:inputText value
=
"
#{user.name}
"
id
=
"
name
"
valueChangeListener
=
"
#{user.s}
"
binding
=
"
#{user.ui}
"
onmouseout
=
"
document.forms.form['form:name'].value='nihao'
"
>
<%
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
>


</
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> 。否则需提供类型转唤器




































