gpt4 book ai didi

jsp - Struts 的 JSP : set textfield value from session information

转载 作者:行者123 更新时间:2023-12-02 06:45:16 27 4
gpt4 key购买 nike

我的 session 中有一个 DLPUser 对象,这个 DLPUser 基本上是字符串、整数和一些对我有用的信息的容器。

(这是我在 java 中的操作类中的代码片段)

Map <String, Object> session = ActionContext.getContext().getSession();
session.put("logged-in","true");
session.put("user", user); //user is DLPUser user = new DLPUser();

现在我想显示 user.getName() 的值;在某些 JSP 的文本字段中我怎样才能做到这一点?我正在使用 Struts 标签,但以下内容不起作用。

<s:textfield label="Name" name="name" value="<% session.user.getName(); %>"/>

<s:textfield label="Name" name="name" value="#session.user.getName"/>

这应该很简单……但是我被卡住了,无法在 struts 和 jsp 中找到关于这件事的良好引用。非常感谢任何帮助。

最佳答案

我正在学习如何自己做这件事,这次讨论很有帮助。结合来自各种网页的资料和“Struts 2 in Action”一书,我到达了我需要去的地方。

Nate 和 nacho4d 的回答接近标准。这是我所做的:

需要导入:

import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.interceptor.SessionAware;

我的 Action 类(“用户”)声明:

public class User extends ActionSupport implements SessionAware {

我的 session 变量是用户的数据成员:

Map <String, Object> session;

然后,在我对用户进行身份验证的方法中(请注意,UserModel 只是数据成员及其 getter/setter 的简单类)

UserModel user;
...
session.put("User", user);

最后,在我的 jsp 文件中:

            <s:if test="%{#session.User.isLoggedIn()}">
Welcome back, <s:property value="%{#session.User.firstName}" />
<s:property value="%{#session.User.middleName}" />
<s:property value="%{#session.User.lastName}" />!
&nbsp;&nbsp;&nbsp;&nbsp;
<a href="Logout.action">Logout</a>
</s:if>

注意访问 session 对象方法/数据成员的语法。虽然我没有在某处详细阅读它,但我猜是:

  • %{} 告诉 jsp 计算 {}
  • 中的表达式
  • session 让您可以访问 session 堆栈/对象?

从那里,结果是用于访问对象及其方法/成员的普通点运算符。

我是这方面的新手,但如果 UserModel 的数据成员是私有(private)的,似乎也没有关系,JSP 无论如何都可以访问它们。

哦。最后一点,为了让它“完成”,注销怎么样?我用于注销操作的 java:

public String logoutUser()
{
session.remove("User");
return SUCCESS;
}

关于jsp - Struts 的 JSP : set textfield value from session information,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366645/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com