微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 struts2 中使用 request.setattriubute 值时获取空值 Testactionform.javaTestAction.java成功.jsp

如何解决在 struts2 中使用 request.setattriubute 值时获取空值 Testactionform.javaTestAction.java成功.jsp

我正在使用 struts2,但在使用属性标记内的设置变量访问表单类中的变量时,在 jsp 中遇到问题。

请在下面找到完整的代码

Testactionform.java

public class Testactionform {
    String name = "india";

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

TestAction.java

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.SessionAware;

public class TestAction implements SessionAware
{
    public Testactionform test;
    public Testactionform gettest() {
        return test;
    }

    public void setTest(Testactionform test) {
        this.test = test;
    }

    private Map<String,Object> session;
    
    public Map<String,Object> getSession() {
        return session;
    }

    public void setSession(Map<String,Object> session) {
        this.session = session;
    }

    public String execute() 
    {
        final HttpServletRequest request = ServletActionContext.getRequest();
        test=new Testactionform();
        request.setAttribute("name1","name");
        test.setName("london");
        session.put("Testactionform",test);
        System.out.println("execute() method called");
        return"success";
    }
}

成功.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags" %> 
<!DOCTYPE html>
<html>
<head>
<Meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>error page</h1>
<s:set var="name2" value="#request.name1"></s:set>
<s:property value="%{#session.Testactionform.name2}"/>
</body>
</html>

在带有以下行的 JSP 中,我想访问 name 中的 Testactionform 变量,但我在响应中什么也没得到。

<s:property value="%{#session.Testactionform.name2}"/>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。