无法访问操作Struts2中的bean
我有index.jsp,其中有一个链接,单击该链接,页面特定操作将被调用。现在,单击该链接时,我需要显示一个页面,其中包含已填充的多选列表以及少量输入文本字段,在操作的构造函数中,我填充了TransactionBean,它将与下一页的字段绑定,即transactionData.jsp transactionData.jsp页面使用填充的multiselected列表正确显示。现在用户可以从multiselected列表中选择值,并可以在文本字段中输入日期,然后单击单击按钮,以便显示条形图 在单击按钮时,我正在调用另一个操作,该操作的属性也是TransactionBean。在该操作的execute方法中,我试图使用其getter访问TransactionBean,但它给了我NullPointerException。我知道,如果我们提交一个绑定了bean字段的页面,那么在调用action时,bean将通过拦截器自动实例化,但这里似乎有点不正确 index.jsp 你好,世界 你好,世界 DisplayAction.java 包com.tutorialspoint.struts2; 导入java.util.ArrayList; 导入java.util.List; 导入com.opensymphony.xwork2.ActionSupport; 公共类DisplayAction扩展了ActionSupport{ TransactionBean TransactionBean; 公共事务bean getTransactionBean{ 返回事务bean; } public void setTransactionBeanTransactionBean transactionBean{ this.transactionBean=transactionBean; } 公共字符串执行{ 回归成功; } 公开行动{ System.out.PrintLn内部构造函数; List leftChannelsList=新建ArrayList; leftChannelsList.addChannel1; leftChannelsList.addChannel2; //TransactionBean TransactionBean=新TransactionBean; SetTransactionBean新建TransactionBean; getTransactionBean.setLeftChannelsListleftChannelsList; //事务类型Dta List leftTransTypesList=新建ArrayList; leftTransTypesList.addTransType1; leftTransTypesList.addTransType2; getTransactionBean.setLeftTransTypesListleftTransTypesList; } } transactionData.jsp 你好,世界 JfreeChartAction.java 公共类JfreeChartAction扩展了ActionSupport{ 私人海图; 私有TransactionBean TransactionBean; 私有事务dao事务dao; 公共事务DAO getTransactionDao{ 返回事务dao; } 公共无效setTransactionDaoTransactionDao transactionDao{ this.transactionDao=transactionDao; } 公共事务bean getTransactionBean{ 返回事务bean; } public void setTransactionBeanTransactionBean transactionBean{ this.transactionBean=transactionBean; } //如果指定图表,将调用此方法 公共JFreeChart getChart{ 收益表; } 公共无效setChartJFreeChart图表{ this.chart=图表; } 公共行动{} 公共字符串执行引发异常{ System.out.printlinner执行:启动; System.out.printlnFrom-date:+getTransactionBean.getFromDate; System.out.printlnFrom date:+getTransactionBean.getToDate; System.out.printlenLeftChannelsList:+getTransactionBean.getLeftChannelsList; System.out.printlnLeft Trans-type List+getTransactionBean.getLeftTransTypesList; DefaultCategoryDataset数据集=新的DefaultCategoryDataset; dataSet.setValue0,2014年4月1日,渠道1; dataSet.setValue15000,2014年4月1日,渠道2; dataSet.setValue9000,2014年5月1日,渠道1; dataSet.setValue1500,2014年5月1日,渠道2; dataSet.setValue10000,2014年6月1日,渠道1; dataSet.setValue8000,2014年6月1日,渠道2; chart=ChartFactory.createBarChart 演示条形图,//图表标题 移动制造商,//域轴标签 事务,//范围轴标签 dataSet,//图表数据 PlotOrientation.VERTICAL,//方向 正确,//是否包含图例? true,//是否包含工具提示? false//是否包含URL? ; chart.setBorderVisibletrue; System.out.PrintLnInner执行:结束; 回归成功; } } Struts.xml TransactionData.jsp 图表 jpeg 600 400 TransactionBean.java无法访问操作Struts2中的bean,struts2,Struts2,我有index.jsp,其中有一个链接,单击该链接,页面特定操作将被调用。现在,单击该链接时,我需要显示一个页面,其中包含已填充的多选列表以及少量输入文本字段,在操作的构造函数中,我填充了TransactionBean,它将与下一页的字段绑定,即transactionData.jsp transactionData.jsp页面使用填充的multiselected列表正确显示。现在用户可以从multiselected列表中选择值,并可以在文本字段中输入日期,然后单击单击按钮,以便显示条形图 在单击
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.jfree.chart.JFreeChart;
public class TransactionBean {
private Date dateTime;
private Integer volume;
private String leftChannels;
private String rightChannels;
private String toDate;
private String fromDate;
private List<String> leftChannelsList;
private List<String> rightChannelsList;
//Transaction type data
private String leftTransTypes;
private List<String> leftTransTypesList;
private String rightTransTypes;
private List<String> rightTransTypesList;
public Date getDateTime() {
return dateTime;
}
public void setDateTime(Date dateTime) {
this.dateTime = dateTime;
}
public Integer getVolume() {
return volume;
}
public void setVolume(Integer volume) {
this.volume = volume;
}
public TransactionBean(){
//System.out.println("Inside TransactionBean constructor");
}
public String getLeftTransTypes() {
return leftTransTypes;
}
public void setLeftTransTypes(String leftTransTypes) {
this.leftTransTypes = leftTransTypes;
}
public List<String> getLeftTransTypesList() {
return leftTransTypesList;
}
public void setLeftTransTypesList(List<String> leftTransTypesList) {
this.leftTransTypesList = leftTransTypesList;
}
public String getRightTransTypes() {
return rightTransTypes;
}
public void setRightTransTypes(String rightTransTypes) {
this.rightTransTypes = rightTransTypes;
}
public List<String> getRightTransTypesList() {
return rightTransTypesList;
}
public void setRightTransTypesList(List<String> rightTransTypesList) {
this.rightTransTypesList = rightTransTypesList;
}
public String getToDate() {
return toDate;
}
public void setToDate(String toDate) {
this.toDate = toDate;
}
public String getFromDate() {
return fromDate;
}
public void setFromDate(String fromDate) {
this.fromDate = fromDate;
}
public String getLeftChannels() {
return leftChannels;
}
public void setLeftChannels(String leftChannels) {
this.leftChannels = leftChannels;
}
public String getRightChannels() {
return rightChannels;
}
public void setRightChannels(String rightChannels) {
this.rightChannels = rightChannels;
}
public List<String> getRightChannelsList() {
return rightChannelsList;
}
public void setRightChannelsList(List<String> rightChannelsList) {
this.rightChannelsList = rightChannelsList;
}
public List<String> getLeftChannelsList() {
return leftChannelsList;
}
public void setLeftChannelsList(List<String> leftChannelsList) {
this.leftChannelsList = leftChannelsList;
}
}
你能告诉我应该使用哪个版本吗
始终使用。目前是Struts 2.3.16.3 GA。您还可以查看和。发布
你的豆子代码。你好,罗曼,谢谢你的回复。我在上面的代码中添加了TransactionBean。您使用的是什么版本的Struts?Struts2-core-2.0.8.jar,Struts2-jFreechart-pligin-2.0.11.1.jar,Struts2-spring-plugin-2.0.11.1.jar,xwork-2.0.4.jar这个版本太旧了,不允许做您想做的事情。