我有一个带有文字字段的jsp
。我想打印出我插入文本字段的文本,但不知道该怎么做。
JSP页面:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Return the name</title>
</head>
<body>
<h1>Welcome</h1>
Insert your text here:<br>
<form name="txtForm" action="Main.java" method="post">
<input type="text" name="txt">
<input type="submit" value="Send">
</form>
</body>
</html>
这是处理JSP的class(Main.java)
:
public class Main extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String text = request.getParameter("txt");
Date d = new Date();
System.out.println("The name you enter is:" + text + "at the time : " + d);
}
}
我想要的是从jsp中获取信息,然后将其打印在jsp上。如何才能做到这一点?我尝试使用<%@ import ... >
并且不能使它工作。 :(
谢谢。
答案 0 :(得分:1)
您编写的表单中的Action属性值是错误的。操作值应与Web.xml中的URL模式匹配。例如,在JSP中:
<form name="txtForm" action="NewServlet" method="post">
在Web.xml中:
<servlet-mapping>
<servlet-name>SimpleServlet</servlet-name>
<url-pattern>/NewServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>SimpleServlet</servlet-name>
<servlet-class>complete Path of Servlet </servlet-class>
</servlet>
在上面的表单中,action属性值“NewServlet”将映射到web.xml中的“”。要将信息写回JSP,可以在servlet中使用PrintWriter Object。
String text = request.getParameter("txt");
Date d = new Date();
PrintWriter out = response.getWriter();
out.println("The name you enter is:" + text + "at the time : " + d);
答案 1 :(得分:0)
首先,此form
定义可能不起作用:
<form name="txtForm" action="Main.java" method="post">
在action
属性中,您需要指定一个网址,例如form.do
等...
然后将Servlet Main.java
映射到 web.xml 中的此特定URL。
尝试使用PrintStream
将其打印到回复中。
response.getWriter.println("The name you enter is:" + text + "at the time : " + d);
执行此操作时,响应将被发送回浏览器。
理想情况下,您应该使用 JSP 进行查看。
您可以将请求发送到 JSP ,然后使用EL ${param.parameterName}
打印请求参数。
我想从jsp中通过我的课程获取信息,然后将其打印回jsp
但这将是一个有点长的练习。您需要从Servlet类(即request
)将Main.java
发送到设置request
属性的单独JSP。