JSP 在< s:if>Struts 2中使用标记检查用户是否处于会话中

omqzjyyz  于 2024-01-04  发布在  其他
关注(0)|答案(1)|浏览(282)

我想知道如果用户处于会话中,是否可以使用Struts 2的<s:if>标记进行检查。
如果用户在会话中,我需要它显示Logout,否则Login
我使用接口SessionAware进行登录操作,并使用这个类User

  1. package it.pwm.wynd.pojo.user;
  2. public class User implements java.io.Serializable {
  3. private static final long serialVersionUID = 1L;
  4. private Integer idUser;
  5. private String name;
  6. private String username;
  7. private String password;
  8. private String email;
  9. public User() {
  10. }
  11. public User(String name, String username, String password, String email) {
  12. this.name = name;
  13. this.username = username;
  14. this.password = password;
  15. this.email = email;
  16. }
  17. public Integer getIdUser() {
  18. return this.idUser;
  19. }
  20. public void setIdUser(Integer idUser) {
  21. this.idUser = idUser;
  22. }
  23. public String getName() {
  24. return this.name;
  25. }
  26. public void setName(String name) {
  27. this.name = name;
  28. }
  29. public String getUsername() {
  30. return this.username;
  31. }
  32. public void setUsername(String username) {
  33. this.username = username;
  34. }
  35. public String getPassword() {
  36. return this.password;
  37. }
  38. public void setPassword(String password) {
  39. this.password = password;
  40. }
  41. public String getEmail() {
  42. return this.email;
  43. }
  44. public void setEmail(String email) {
  45. this.email = email;
  46. }
  47. }

字符串

qcbq4gxm

qcbq4gxm1#

Struts2标签不能在没有关联的文件服务器的情况下工作。如果你在JSP中使用Struts标签,请确保你首先阅读了关于tags的内容。
如果是SessionAware,则可以将会话Map注入到操作中。
如果你想把一些像user这样的对象放到会话中,你可以使用像this这样的身份验证拦截器。
它检查会话中是否有user,并让操作调用,否则返回login结果。
用户可能想在不同的帐户下登录多次,所以你不应该限制他/她这样做。
在JSP中,可以使用#session上下文变量检查user<s:if> tag的会话。

  1. <s:if test="#session.user == null">
  2. <s:a action="login">Login</s:a>
  3. </s:if>
  4. <s:else>
  5. <s:a action="logout">Logout</s:a>
  6. </s:else>

字符串

相关问题