我试图将一个名为seq
的字符串变量从JSP传递给Java程序,并通过将字符串作为参数传递给其对象,将其传递给另一个Java程序。我不知何故被卡住了。
Start.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检索字符串值。它通过方法ProtModMain
将字符串传递给getSequence
类。我现在需要使用字符串值将其传递给需要它的其他类,所以我打算将它传递给ObjectFactory
对象。但在此之前,我需要在getSequence
类中调用ProtModMain
方法,以便我可以传递该值。我不了解如何在getSequence
类的主要方法中调用ProtModMain
方法。
答案 0 :(得分:1)
您需要使用request.setParameter("<name>",<value>);
将参数设置为请求。然后,您可以使用HTTPRequest getParameter("<name>");
在Java文件中获取它。
答案 1 :(得分:0)
您可以使用<form>
代码和<input type='hidden'>
<input type='submit'>
按钮,在表格中指定要发送的方式以及发送数据的位置。
或者您可以存储在POJO中并存储在会话中并使用servlet恢复它。
或者将Ajax与XmlHttpRequest一起使用。
答案 2 :(得分:0)
您没有调用main
方法。在JSP中,您只调用静态getSequence
,顺便说一下,它只返回值。
我认为你有一个项目概念问题:为什么你的web(JSP)应用程序有一个主类?
我认为你应该适应:
Start.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);
}
}
通过这种方式,您将调用您想要的方法。