在我上一个问题的类似方面,我还有一个问题:
我们使用的是纯 JSF,我尝试了一个选择列表,我认为纯 jsf 不会携带它,除非我使用richfaces。
因此,我们尝试使用带有 javascript 功能的多选列表和按钮自行实现选择列表。这是示例代码:
<td width="100">
<h:selectManyListbox id="Groups" name="Groups" size="9" style="width: 125px" >
<f:selectItems value="#{notificationBean.groupsFromDB}"/>
</h:selectManyListbox>
</td>
<td align="center" valign="middle" width="80"><input
type="button" value="Add " class="btn_empty"
onclick="SelectMoveRows(document.forms['searchform'].Groups,document.forms['searchform'].GroupCodes)" /><br />
<br /> <input type="button" value="Remove" class="btn_empty"
onclick="SelectMoveRows(document.forms['searchform'].GroupCodes,document.forms['searchform'].Groups)" />
</td>
<td width="100">
<h:selectManyListbox id="GroupCodes" name="GroupCodes" size="9" style="width: 125px" value="#{notificationBean.selectedGroups}">
</h:selectManyListbox>
</td>
首先让我知道用法是正确的。在这里,我无法使用 document.forms 方法访问组或组代码。所以物品不会从一个盒子移动到另一个盒子。
请让我知道如何在 document.forms 中引用该多选框,我尝试了以下操作:
document.forms['searchform'].Groups
document.forms[0].searchform\\\\:Groups
document.searchform.Groups
提前致谢,
迪帕克
回答麦克道尔的评论:
我尝试了该链接中的方法...它不起作用...
还有一件事,我不确定我是否可以直接在我的项目中使用这个命名空间......它是免费/开源的吗?这是一个公司项目,所以问...
有没有其他方法不使用这个命名空间...
我包括了它指定的 xmlns:
<ui:composition xmlns="w3.org/1999/xhtml"; xmlns:ui="java.sun.com/jsf/facelets"; xmlns:c="java.sun.com/jstl/core"; xmlns:h="java.sun.com/jsf/html"; xmlns:f="java.sun.com/jsf/core"; xmlns:id="illegalargumentexception.googlecode.com/clientId"; version="2.0" template="/xhtml/masterLayout.xhtml">
它说异常:
javax.el.ELException: Function 'id:cid' not found
at org.apache.el.lang.ExpressionBuilder.visit(ExpressionBuilder.java:210)
at org.apache.el.parser.SimpleNode.accept(SimpleNode.java:147)
at org.apache.el.lang.ExpressionBuilder.prepare(ExpressionBuilder.java:167)
at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:185)