0

我正在尝试seq将从JSP调用的字符串变量传递给 Java 程序,并通过将字符串作为参数传递给其对象来将其传递给另一个 Java 程序。我不知何故被卡住了。

启动.jsp:

<%@ page import="org.dypbbi.nirmiti.ProtModMain %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>NIRMITI</title>
    </head>
    <body>
        <h1>Please wait...</h1>
        <%
            String seq=request.getParameter("s");
            ProtModMain.getSequence(seq);
        %>
    </body>
</html>

ProtModMain.java:

package org.dypbbi.nirmiti;
public class ProtModMain {
    String sequence="";

    public static String getSequence(String str)
    {
        return str;
    }


    public static void main(String args[])throws Exception
    {
      ProtModMain MainObj = new ProtModMain();
      sequence = MainObj.getSequence();
      new ObjectFactory(sequence);
    }
}

Start.jsp 将从HTML中检索字符串值。它通过方法将字符串传递给ProtModMaingetSequence。我现在需要使用字符串值将其传递给其他需要它的类,因此我打算将它作为参数传递给ObjectFactory对象。但在此之前,我需要调用类getSequence中的方法,ProtModMain以便传递值。我不明白如何getSequence在类的主要方法中调用该方法ProtModMain

4

3 回答 3

1

您需要使用 将参数设置为请求request.setParameter("<name>",<value>);。然后你可以在 Java 文件中使用HTTPRequest getParameter("<name>");.

于 2013-04-17T12:04:59.893 回答
0

您没有调用该main方法。在您的 JSP 中,您只调用静态getSequence的,顺便说一下,它只返回值。

我认为您有一个项目概念问题:为什么您的 Web (JSP) 应用程序有一个主类?

我认为你应该适应:

启动.jsp:

<%@ page import="org.dypbbi.nirmiti.ProtModMain %> 
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>NIRMITI</title>
    </head>
    <body>
        <h1>Please wait...</h1>
        <%
        String seq=request.getParameter("s");
        ProtModMain protModMain = new ProtModMain();
        ObjectFactory myFactory = protModMain.createFactory(seq);
        //do whatever you want with your factory ;)
        %>
    </body>
</html>

ProtModMain.java:

package org.dypbbi.nirmiti;
public class ProtModMain {

    public ObjectFactory createFactory(final String sequence) {
        return new ObjectFactory(sequence);
    }
}

这样,您将调用您想要的方法。

于 2013-04-15T18:31:32.770 回答
0

您可以使用<form>标签和<input type='hidden'>按钮<input type='submit'>,在表单中您将指定发送方法和发送数据的位置。

或者您可以存储在 POJO 中并存储在会话中并使用 servlet 恢复它。

或者将 Ajax 与 XmlHttpRequest 一起使用。

于 2013-04-15T18:28:47.917 回答