java - 存储变量以在 Java 中的 View /页面之间安全传递

标签 java

我想在一个java页面/ View 中存储一个变量,然后在另一个页面/ View 中检索它。到目前为止我发现(在服务器端):

存储变量以供以后使用:

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 显示空值。请问这样做的正确方法是什么。我可以在 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");
}

最佳答案

您需要某种外部存储。 Redis 可能是跟踪此类事件的最常见方法,但如果您有数据库或其他某种方式来存储对象,则可以使用它(取决于您对性能的需求)。

关于java - 存储变量以在 Java 中的 View /页面之间安全传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48144163/

相关文章:

java - 在 java.util.logging 中为一个类指定具有多个处理程序的多个记录器

java - 找不到 ARToolkit buildToolsVersion

Java 猜数游戏问题

java - 显示幂(2、3、4 等次方)?

java - Date 对象序列化中的奇怪行为

java - Java中使用FileChooser选择后加密文件

java - 游戏开发——制作 map

Java keytool 最大传递长度

java - 跨不同 jvm 或不同机器的 java 中的 Math.random() 有多随机

java - 更改JComboBox的标签