【问题标题】:passing parameters using <ui:repeat>使用 <ui:repeat> 传递参数
【发布时间】:2013-03-03 14:59:38
【问题描述】:

我用forEach给函数传参数,代码如下

 <c:forEach var="q" items="#{statusBean.commentList(p.statusId)}">

但是当我转移到&lt;ui:repeat&gt;时,参数没有被传递,这给了我一个异常。

<ui:repeat var="q" value="#{statusBean.commentList(p.statusId)}">

除了使用&lt;ui:repeat&gt; 传递参数之外,还有其他方法吗?

【问题讨论】:

  • 有什么异常。在寻找替代方案之前,您应该尝试修复错误
  • 我可以使用 传递参数吗?
  • ui:repeat 用于循环遍历 xhtml 页面上的数据。您可以将参数传递给 value 属性中使用的 EL 表达式
  • javax.servlet.ServletException:在 EntityManager 中创建查询时发生异常:异常描述:解析查询的语法错误 [SELECT c FROM Comment c WHERE c.statusId=],第 0 行,第 - 1:查询意外结束。内部异常:NoViableAltException(-1@[792:1:comparisonExpressionRightOperand 返回 [对象节点]:(n=算术表达式|n=非算术标量表达式|n=anyOrAllExpression);]) javax.faces.webapp.FacesServlet.service(FacesServlet.java:第321章)
  • 我遇到了上述异常

标签: jsf jsf-2


【解决方案1】:

你的问题毫无意义。没有“通过&lt;ui:repeat&gt; 传递参数”,也没有“使用&lt;c:forEach&gt; 传递参数”。你的话在某些特定的上下文中可能是有意义的——但是缺少上下文。

您描述的两个标签做完全不同的事情:一个构建组件(&lt;ui:repeat&gt;),另一个预处理将用于构建视图的文档。区别是深远的(从创建的 UI 的形状开始,评估绑定的时间,与保存的 GUI 状态的交互......)并且 - 从您提出问题的方式来看 - 您需要了解更多在你解决这个具体问题之前。没关系,慢慢来。

但我有一个诚实的建议:如果 &lt;c:foreach&gt; 对你有用(如果只是偶然),那就用它吧!不要试图用完全不同的东西(以及你没有得到的东西)来代替它。

【讨论】:

    猜你喜欢
    • 2012-05-24
    • 2011-04-22
    • 2013-10-14
    • 2012-04-28
    • 2016-05-25
    • 2015-08-12
    • 2014-01-21
    • 2011-08-10
    • 1970-01-01
    相关资源
    最近更新 更多