有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在使用请求时获取null。设置struts2中的属性值

我正在处理struts2,但在使用属性标记中的set变量访问表单类中的变量时,jsp中出现了问题

请查找下面的完整代码

Testactionform。java

public class Testactionform {
    String name = "india";

    public String getName() {
        return name;
    }

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

遗嘱。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中,我想访问Testactionform中的name变量,但在响应中什么也得不到

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

共 (1) 个答案

  1. # 1 楼答案

    下面的命令对我来说很有效

    <;s:property value=“#session.Testactionform[#name2]”/>