从其他阶级获得价值

时间:2014-05-29 21:08:42

标签: java

我想获取用户登录的ID号,只显示与此用户ID相关的数据,如果有意义的话。这是我的索引bean(index.java)的代码,只是从一个简单的inputText中获取ID:

    private String id;

    public String getid() {
    return id;
}

public void setid(String id) {
    this.id = id;
}

这是用户的代码(类表)

public class table {
    index i = new index();
    final String pNo=i.getid();
public List<index> getMyList()
{
     List<index> list = new ArrayList<index>();
     PreparedStatement pstmt = null;
     Connection con = null;
     ResultSet rs = null;
     try
     {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/try", "root", "");

        String sql = "SELECT task.tNo, clientcase.name "+
        "FROM clientcase join task on clientcase.cNo = task.cNo "+
        "Where task.responsiblePNo = ? AND (task.statue='opened'Or task.statue= 'pending')";
        pstmt= con.prepareStatement(sql); 
        pstmt.setString(1, pNo);
        rs= pstmt.executeQuery(); 
        while (rs.next())
        {

            i.settNo(rs.getString("task.tNo"));
            i.setCompanyName(rs.getString("clientcase.name"));

            list.add(i);
            } 
        }
        catch(Exception e)
        {}

我还有一个jsf页面有这个代码来获取id,如果这有任何意义:

     <h:inputText id="personnelID" value ="#{index.id}"/>

我的问题是我可以获得身份证号码。如果我将表类中的get方法替换为实数,一切正常。但现在它只返回null。有人能帮助我吗?

4 个答案:

答案 0 :(得分:1)

代码

index i = new index();
final String pNo=i.getid();
首次创建table时正在运行

,并且可能会将pNo设置为null。但在那之后,你无法以任何方式改变它。您可能需要table的构造函数,允许您设置pNo,以便您可以从字段传入值。

答案 1 :(得分:0)

我的索引类中会有一个构造函数,并将Id设置为

public class index
{
    private String id;

    public String getid() {
    return id;
}

public void setid(String id) {
    this.id = id;
}

public index(string Id)
{
  this.setid(Id);
}
}

然后在你的表类中,你可以像下面那样实例化索引;以这种方式,它将确保设置ID值,并且如果您第一次创建NULL的对象并尝试获取ID值

,则不会获得index
public class table {
index i = new index("1234");
final String pNo=i.getid();

答案 2 :(得分:0)

你使用

吗?
setid(String)

的任何位置? 否则id的默认值为null

答案 3 :(得分:0)

创建新的index实例

index i = new index();

id成员中创建的内容没有任何价值。您应该正确初始化对象,或者在此行之前获得初始化对象:

final String pNo=i.getid();