【问题标题】:jsf datatable problem with var attribute带有var属性的jsf数据表问题
【发布时间】:2011-06-02 05:57:21
【问题描述】:

在开发带有数据表的小型 jsf 应用程序时,我遇到了以下错误问题

The method setVar(String) in the type DataTableTag is not applicable for the arguments (JspValueExpression)

在我的 jsp 页面中,我有以下代码片段

<h:dataTable id="dt1" value="#{dbdata.empno}" var="item" bgcolor="#F1F1F1" border="10" cellpadding="5" cellspacing="3" rows="4" width="50%" dir="LTR" frame="hsides" rules="all" summary="This is a JSF code to create dataTable." >

在我的 java 文件中,我有以下 2 个代码片段--

while (rst.next())
{    
 empno.add(i++,new perInfo(rst.getString(1)));
}

public class perInfo {
    String uname;

    public perInfo(String firstName) {
        this.uname = uname;
    }

    public String getUname() {
        return uname;
    }
}

数据库中的数据很好。

我发现“var”属性有问题

请指教

【问题讨论】:

  • 嗨!您能否详细说明并提供更多代码和细节?
  • 听起来像是jsf/server版本的问题。你用的是哪个jsf版本和服务器?
  • 如果我删除 var=item 那么我没有收到错误,但也没有数据显示
  • 您能否格式化您的代码并向我们提供错误信息?
  • DataTableTag 类型中的方法 setVar(String) 不适用于参数(JspValueExpression)是错误

标签: java jsf


【解决方案1】:

看起来你遇到了这个错误:

Bug 41912 - JSF datatable does not work on tomcat 6.0.9

关于此页面上的 cmets,可能的解决方法是更改​​服务器和/或 jsf 版本的组合。

【讨论】:

    【解决方案2】:

    听起来您正在尝试将字符串发送到关系数据库,而它期望将另一种类型(如日期或数字)发送到特定的表和列。

    HTTP 表单元素只知道字符串。在将值保存到数据库之前,您应该从服务器端的 UI 验证和绑定值。

    【讨论】:

    • dbdata.empno 正在返回一个 ArrayList。我在 empno 是 arraylist 的 bean 中有 public List getempno() {return empno;}。
    猜你喜欢
    • 2020-04-08
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多