相关疑难解决方法(0)

如何将选定的行传递给dataTable中的commandLink或ui:repeat?

我在JSF 2应用程序中使用Primefaces.我有一个<p:dataTable>,而不是选择行,我希望用户能够直接对各行执行各种操作.为此,我<p:commandLink>在最后一栏中有几个.

我的问题:如何将行ID传递给命令链接启动的操作,以便我知道要对哪一行进行操作?我尝试使用<f:attribute>:

<p:dataTable value="#{bean.items}" var="item">
    ...
    <p:column>
        <p:commandLink actionListener="#{bean.insert}" value="insert">
            <f:attribute name="id" value="#{item.id}" />
        </p:commandLink>
    </p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)

但它总是产生0 - 显然在f呈现属性时行变量不可用(当我使用固定值时它可以工作).

有人有替代解决方案吗?

datatable jsf parameter-passing commandlink jsf-2

97
推荐指数
3
解决办法
17万
查看次数

在EL中调用带参数/变量/参数的直接方法或方法

我如何在JSF 2.0中使用EL中的参数/变量/参数调用直接方法或方法?

例如,在EL中获取列表大小:

<h:outputText value="#{bean.list.size()}" />
Run Code Online (Sandbox Code Playgroud)

或者使用参数调用action方法:

<h:commandButton value="edit" action="#{bean.edit(item)}" />
Run Code Online (Sandbox Code Playgroud)

这在我的环境中似乎不起作用.它似乎不喜欢括号.

javax.el.E​​LException:错误解析:#{bean.list.size()}
com.sun.el.parser.ParseException:遇到"("

methods jsf arguments el parameter-passing

25
推荐指数
1
解决办法
3万
查看次数

如何将方法参数传递给ActionListener?

我正在创建一个动态生成的菜单.在数据库中,我已经存储了String每个子菜单的directory()并存储在ArrayListbean中.这是代码的一部分:

<c:forEach items="#{controlWeb.algorithms}" var="alg">
    <h:form>
        <h:commandLink actionListener="#{controlWeb.setContent(PROBLEM)}"  value="About"/>
    </h:form>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

问题出在"问题"中.我想写#{alg.algorithm1},但它不起作用,因为我认为嵌套EL表达式是不可行的.

actionListener设置String #{alg.algorithm1}在另一个String.我怎样才能达到要求?

el jsf-2

4
推荐指数
1
解决办法
1万
查看次数

org.apache.el.parser.ParseException:遇到"("在第X行,第Y列.期待其中一个[...]

以下JSF片段:

<p:dataTable value="#{userbean.getAll()}" var="user">
Run Code Online (Sandbox Code Playgroud)

引发此异常:

Encountered "(" at line 1, column 18. Was expecting one of: "}" ... "." ... "[" ... ">" ... "gt" ... "<" ... "lt" ... ">=" ... "ge" ... "<=" ... "le" ... "==" ... "eq" ... "!=" ... "ne" ... "&&" ... "and" ... "||" ... "or" ... "*" ... "+" ... "-" ... "/" ... "div" ... "%" ... "mod" ... 
org.apache.el.parser.ParseException: Encountered "(" at line 1, column 18. Was expecting one of: …
Run Code Online (Sandbox Code Playgroud)

jsf el parentheses parseexception methodexpression

3
推荐指数
1
解决办法
2万
查看次数

如何在监听器中传递参数?

我怎样才能将一个arugument传递给听众方法?

我试过这样的:

<p:poll interval="3" listener="#{vehicleController.onPoll('12')}"
    update="vehicleDataList"/>
Run Code Online (Sandbox Code Playgroud)

<p:poll interval="3" listener="#{vehicleController.onPoll(vehicle.vehicleLicense)}"
    update="vehicleDataList"/>
Run Code Online (Sandbox Code Playgroud)

但它抛出以下异常:

javax.servlet.ServletException: /monitorVehicles/vehiclesList.xhtml
Failed to parse the expression [#{vehicleController.onPoll('12')}]
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?

jsf arguments el listener primefaces

0
推荐指数
1
解决办法
823
查看次数