我想将变量存储在一个java页面/视图中,然后在另一个页面/视图中检索它。到目前为止,我已经找到了(在服务器端):
存储变量供以后使用:
public static void setViewDataState(String state) {
ViewData viewData = new ViewData();
//getThreadLocalRequest().getSession(true).setAttribute("viewData", viewData);
viewData.setState(state);
System.out.println("state2 = " + state);
}
检索变量:
public static String getViewDataState() {
ViewData viewData = new ViewData();
System.out.println("state3 = " + viewData.getState());
return viewData.getState();
}
State2显示正确的值,State3显示null。请问这是正确的方法。我可以在GWT中做到这一点;但是,我是java的新手。
这就是我在GWT中的表现:
public ViewData setViewData(String accountId, String accountLevel,
String ymId, String awId, String adAwardGroup, String adScoutGroup,
String caId, Integer numberOfGroupsStarted, String groupSection,
String hikeRecordID, String hikeMealID, String e1ActivityID,
String penPalID, String groupNAS) {
ViewData viewData = new ViewData();
getThreadLocalRequest().getSession(true).setAttribute("viewData", viewData);
viewData.setaccountId(accountId);
viewData.setaccountLevel(accountLevel);
viewData.setymId(ymId);
viewData.setawId(awId);
viewData.setadAwardGroup(adAwardGroup);
viewData.setadScoutGroup(adScoutGroup);
viewData.setcaId(caId);
viewData.setnoGroupsStarted(numberOfGroupsStarted);
viewData.setsection(groupSection);
viewData.sethikeRecordID(hikeRecordID);
viewData.sethikeMealID(hikeMealID);
viewData.setactivityE1ID(e1ActivityID);
viewData.setpenPalID(penPalID);
viewData.setGroupNAS(groupNAS);
return viewData;
}
public ViewData getViewData() {
return (ViewData) getThreadLocalRequest().getSession().getAttribute("viewData");
}
答案 0 :(得分:0)
您需要某种外部存储空间。 Redis可能是跟踪这类事情的最常用方法,但如果你有一个数据库或其他一种存储对象的方法,你可以使用它(取决于你在性能方面的需要)。
答案 1 :(得分:0)
答案是:
ViewData viewData = new ViewData();
用于存储和检索到类下面:
public class MySQLConnection implements Serializable {
private static final long serialVersionUID = 1L;
static ViewData viewData = new ViewData();
//other code including the store and retrieve
}