当前位置: 首页 > 知识库问答 >
问题:

使用struts将值从java文件传递到jsp文件

华烈
2023-03-14

我试图实现一个基本的struts应用程序,其中我试图将一个字符串值从java文件传递给jsp。但是我在jsp页面中得到一个空值。我已经为此工作了2-3天,但我还没有弄清楚这个问题。请帮帮我

网状物xml

<!DOCTYPE web-app    PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <display-name>Hello World Struts Application</display-name>

    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>3</param-value>
        </init-param>
        <init-param>
             <param-name>detail</param-name>
             <param-value>3</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>


    <welcome-file-list>
        <welcome-file>view.jsp</welcome-file>
    </welcome-file-list>

</web-app>

struts配置。xml

<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
    <action-mappings>
        <action path="/view" type="myAction" validate="false">
                <forward name="success" path="/first" />
        </action>
        <action path="/view"
                forward="/view.jsp"/>
        <action path="/first" type="myAction" validate="false">
            <forward name="success" path="/first.jsp" />
        </action>
    </action-mappings>
</struts-config>

看法jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>

    <body>
        <form action="first.do">
            Enter name :
            <input type="text" name="name"/>
            <input type="submit" value="Enter"/>
        </form>

    </body>
</html>

第一jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>

    <body>
        Welcome!!!!!!!!

        <%
            String s=(String)request.getAttribute("s");
            out.println("s="+s);
        %>
    </body>
</html>

myAction.java

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class myAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException {

        String s="Karthikeyan";

        request.setAttribute("s",s);

        RequestDispatcher reqDispatcher = getRequestDispatcher("view.jsp");
        reqDispatcher.forward(request,response);




        return (mapping.findForward("success"));
    }
}

如何检查值是否从java文件传递到jsp?提前感谢您的帮助。

共有1个答案

饶滨海
2023-03-14

在execute方法外声明字符串,并保留其getter setter。然后在execute方法中将其初始化为您的值。现在在jsp中使用属性标记来获取其值

public class Test extends ActionSupport
{
    String s;

    public String getS() {
        return s;
    }

    public void setS(String s) {
        this.s = s;
    }

    public String execute()
    {
        s="MyName";
        return SUCCESS;
    }

}

我的jsp页面包含

 类似资料:
  • 我正在使用TestNG执行单元测试,其中我正在使用xml文件中定义的测试用例测试我的代码。 我正在使用xml文件中定义的测试用例执行登录操作。但问题是我想在方法登录中以usersname和password的形式发送参数。 是否可以将值(用户名和密码)传递给执行测试用例的xml文件中的登录方法? 下面是我的XML文件 谢谢

  • 我正在尝试将某些值从servlet传递到JSP页面,并添加已传递到标记的值,阅读了许多文章,我得到了以下代码。 使用输入页面选择文件 验证上传的文件 调用上传。java将上传的文件保存在WEB-INF中 在上载的文件中,选定的文件保存为“我的”。txt 使用缓冲区读取文件内容并将其保存到变量 将其传递到JSP页面 上载JAVA 上传文件后, mypage.jsp 现在,当我点击上传按钮完成所有这些

  • 使用Struts2和JSP的技术在Jsp中,我正在检查我的会话值是否被设置。 现在,我的Action类中有另一个随机变量(我无法在会话范围内设置此变量),现在,我的会话键将是变量,后面附加值,那么如何在JSP中检查这个新的会话键呢。 我想要的东西就像 第一个问题是如何将这个变量从action类传递到JSP,以及如何在JSP中检查它。 我试过类似的东西 比在动作类的方法(这个动作类的方法将重定向到J

  • 我将bean对象从一个servlet传递到一个jsp文件,并希望使用bean值,如下所示,但它引发了运行时错误。我做错了什么? exprection如下: jasperexception:java.lang.nullpointerexception org.apache.jasper.servlet.jspservletrapper.handlejspexception(jspservletrap

  • 当我运行welcome.jsp时,它应该从welcome.java获取值并将其显示在页面上。 当我设置RequestDispatcher并转发它时,仍然会显示servlet URL,但是我希望URL是JSP文件,但是我在JSP文件中显示的变量应该取自servlet。

  • 开头是我的jsp页面代码: 我想从