java - 在 Struts 2 中初始化 Action 类字段的正确方法是什么?

标签 java jsp struts2 javabeans interceptorstack

我有一个类,我用它来存储我从数据库中检索到的数据,该数据库将对象作为字段。

我想在实例化类时初始化对象以避免 null 指针问题。

我想我在某处读到它不应该在字段声明中初始化字段,因为它可能会给 Struts 带来问题(但我现在找不到语句),所以我在构造函数中初始化字段。

我的问题是:

采用哪种方式重要吗?还是根本不应该这样做,只在实例化类后才放入新对象?换句话说,我应该这样定义我的类:

public class MenuView implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;

public MenuView(){
    projectInfo = new ProjectInfo();
    partyInfo = new PartyInfo();
    requestTableInfo = new RequestTableInfo();
    partyRequestInfo = new PartyRequestInfo();
}

后跟 getter 和 setter 之类的。

public class MenuView implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private ProjectInfo projectInfo = new ProjectInfo();
private PartyInfo partyInfo = new PartyInfo();
private RequestTableInfo requestTableInfo = new RequestTableInfo();
private PartyRequestInfo partyRequestInfo = new PartyRequestInfo();

public MenuView(){  }

后跟 getter 和 setter 或像这样:

public class MenuView implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;

public MenuView(){}

接着是 getter 和 setter,然后像这样实例化它:

MenuView menu = new MenuView();
menu.setProjectInfo(new ProjectInfo);

最佳答案

上面的任何方法都可以,但这是最好的。初始化类的全部要点当然是避免引用 null 并使用首选值初始化它们,如下所示。

从那里添加 getter 和 setter 会很好地工作

public class MenuView implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;

public MenuView(int a, int b, int c, int d){
    projectInfo = new ProjectInfo(a);
    partyInfo = new PartyInfo(b);
    requestTableInfo = new RequestTableInfo(c);
    partyRequestInfo = new PartyRequestInfo(d);
}

关于java - 在 Struts 2 中初始化 Action 类字段的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465700/

相关文章:

java - JSP 编译错误 - token "throws"上的语法错误,预期抛出

java - Java Web 技术中的 AJAX 自动完成文本框(JSP 和 servlet)

java - JSP 无法解析 org.apache.commons.lang 的导入

java - 我可以从 session 属性中获取属性,但不能从 session 映射中获取属性

java - 安卓工作室 : Failed to create JVM error code : -1

java - 在 Java 中显示 XML

java - jsp上调用bean方法

javascript - 如何突出显示未通过 Struts2 验证的字段?

java - 使用扫描仪读取 csv 文件值,useDelimiter (";")不起作用

java - 与 SQL Server : login failed for user x 的 JDBC 连接