0

我正在使用 JSF 1.2、Servlets 2.5、Tomcat“6”和richfaces 3。我正在使用rich:dataTable 在页面上显示来自oracle 表中的数据。现在我需要根据其 id 在表格行的特定列中显示一些自定义信息。我尝试按如下方式将参数发送到我的支持 bean(我知道 tomcat 7 和 el 2.2 jar,servlets 3 会解决这个问题,但我不能从我目前的设置中移动,所以我想知道我的替代方案。谢谢)

    <rich:dataTable rendered="true" value="#{studentBean.studentList}" var="dataList">
      ...
   <rich:column sortable="true">
 <f:facet name="header">
  <h:outputText value="Details"/>
     </f:facet>
<h:outputText value="#{studentBean.studentCategory(dataList.id)}"/>
   </rich:column>
      ...
    </rich:dataTable>

我的支持豆是

public String studentCategory(Long id)
 {
        String categoryString;
        //...process table rows with id and return a 
        //...concatenated string
   return categoryString;
 }

我收到以下错误

 The function studentCategory must be used with a prefix when a default namespace is   
 not specified

寻求帮助。

4

1 回答 1

1

JSF 1.2 不支持将参数传递给方法。由于您无法迁移到 JSF 2。解决方案可以使用 Facelets,它可以让您实现 EL 功能。

你可以看到这个答案:

如何创建自定义 EL 函数来调用静态方法?

还有这篇文章

http://www.ibm.com/developerworks/web/library/j-facelets2/index.html

于 2013-07-25T05:39:16.297 回答