Java 从servlet创建的html获取信息
我有一个servlet,它创建一个html文本框,然后在提交时重定向到另一个servlet。如何从新servlet访问html文本框的值?我能够从新的servlet访问servlet变量,但我不知道如何访问html生成代码的值 谢谢 下面是获取文本输入的servletJava 从servlet创建的html获取信息,java,html,servlets,Java,Html,Servlets,我有一个servlet,它创建一个html文本框,然后在提交时重定向到另一个servlet。如何从新servlet访问html文本框的值?我能够从新的servlet访问servlet变量,但我不知道如何访问html生成代码的值 谢谢 下面是获取文本输入的servlet public class ServletB extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletRespo
public class ServletB extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
String value = System.getProperty("card");
PrintWriter out = response.getWriter();
out.println("<center><h1>Your preffered method of payment is "+value+"</h1><br />");
out.println("Please Enter Card Number<input type =\"text\" name = \"number\"/><form action=\"http://codd.cs.gsu.edu:9999/cpereyra183/servlet/ServletC\"><input type =\"submit\" value=\"Continue\" /><input type=\"button\" value=\"Cancel\" /></center>");
}
}}
public class ServletC extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
String value = System.getProperty("card");
PrintWriter out = response.getWriter();
out.println(request.getParameter("number"));
}
}
如果为输入字段指定名称
<input type="text" name="foo">
另见:
- -包含一个hello world
与具体问题无关,与大多数servlet教程想让我们相信的相反,HTML实际上属于JSP,而不是servlet。我建议将该HTML放在JSP中。如果您为输入字段指定名称
<input type="text" name="foo">
另见:
- -包含一个hello world
与具体问题无关,与大多数servlet教程想让我们相信的相反,HTML实际上属于JSP,而不是servlet。我建议将HTML放在JSP中。如果您的标记看起来像这样
<form action="anotherServlet">
<input name="myTextbox" />
</form>
请参阅: 如果您的标记看起来像这样
<form action="anotherServlet">
<input name="myTextbox" />
</form>
请参阅: 公共类Formvalid扩展了HttpServlet{
public void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
PrintWriter pr=response.getWriter();
布尔标志=真;
整数计数=0;
response.setContentType(“text/html”);
枚举;
enume=request.getParameterNames();
while(enume.hasMoreElements()){
计数++;
字符串名称=(字符串)enume.nextElement();
字符串值=request.getParameter(名称);
if(value==null | | value.equals(“”){
pr.println(“请输入下颌值:”
+姓名+“”);
flag=false;
}
}
pr.println(“员工注册”);
如果(!flag | | count==0){
pr.println(“
EmpName*:
”
+“年龄*:
资格*:
地址
”;
}否则{
pr.println(“提交成功”);
}
}
}
公共类Formvalid扩展HttpServlet{
public void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
PrintWriter pr=response.getWriter();
布尔标志=真;
整数计数=0;
response.setContentType(“text/html”);
枚举;
enume=request.getParameterNames();
while(enume.hasMoreElements()){
计数++;
字符串名称=(字符串)enume.nextElement();
字符串值=request.getParameter(名称);
if(value==null | | value.equals(“”){
pr.println(“请输入下颌值:”
+姓名+“”);
flag=false;
}
}
pr.println(“员工注册”);
如果(!flag | | count==0){
pr.println(“
EmpName*:
”
+“年龄*:
资格*:
地址
”;
}否则{
pr.println(“提交成功”);
}
}
}
我看到了“另一个答案已发布”消息,我只知道这是你的消息:)我看到了“另一个答案已发布”消息,我只知道这是你的消息:)getParameter仅在从html页面转到servlet时才起作用,这是从servlet转到servlet,html本身就在servlet内部“在servlet内部”是什么意思?请不要告诉我它是一个实例变量。如果变量设置为,您可以使用它将其恢复。不,它不是实例变量。我对say servlet1所做的就是通过输出到编写器来创建html代码,当我拉servlet1时,它会显示一个文本框和一个提交按钮,当我提交到Servlet2时,如果servlet1是一个常规网页,我可以通过getparameter访问每个html元素,但它是一个servlet而不是html文件,所以,当我试图在Servlet2中使用getparameter时,调用say out.println(request.getparameter(“number”);我得到的空值是文本框的名称,我完全不理解您的意思:“它是一个servlet而不是html文件。”是否将servlet1
发送到浏览器?最后,不管HTML是如何生成的,都是HTML。这并不重要,HTML是通过向编写器输出HTML的位和位来生成的。浏览器只看到HTML。是否确实要将正确的字符串传递给getParameter()
?您确定生成的HTML具有您期望的名称的输入吗?能否将提交表单的标记粘贴到问题中?输入元素必须位于表单元素的内部。现在不是。此外,正如BalusC所指出的,标记实际上属于JSP,而不是servlet。getParameter仅在从html页面到servlet的过程中起作用,这是从servlet到servlet的过程中起作用,html本身就在servlet内部。“在servlet内部”是什么意思?请不要告诉我它是一个实例变量。如果变量设置为,您可以使用它将其恢复。不,它不是实例变量。我对say servlet1所做的就是通过输出到编写器来创建html代码,当我拉servlet1时,它会显示一个文本框和一个提交按钮,当我提交到Servlet2时,如果servlet1是一个常规网页,我可以通过getparameter访问每个html元素,但它是一个servlet而不是html文件,所以,当我试图在Servlet2中使用getparameter时,调用say out.println(request.getparameter(“number”);我得到的空值是文本框的名称,我完全不理解您的意思:“它是一个servlet而不是html文件。”是否将servlet1
发送到浏览器?最后,不管HTML是如何生成的,都是HTML。这并不重要,HTML是通过向编写器输出HTML的位和位来生成的。浏览器只看到HTML。你确定你
public class Formvalid extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter pr = response.getWriter();
boolean flag = true;
int count=0;
response.setContentType("text/html");
Enumeration enume;
enume = request.getParameterNames();
while (enume.hasMoreElements()) {
count++;
String name = (String) enume.nextElement();
String value = request.getParameter(name);
if (value == null || value.equals("")) {
pr.println("<h5 style='color:red;'>please enter manditory values :"
+ name + "</h5>");
flag = false;
}
}
pr.println("<h3>Employe Registation</h3>");
if (!flag || count==0) {
pr.println("<form method=\"get\" action=\"formvalid\"><br />EmpName *:<input type='text' name='Empname' ><br />"
+ "Age *:<input type='text' name='age' ><br /><tr><td>Qulification *:<input type='text' name='Qualification' ><br />Address<textarea> </textarea><br /><input type='submit' value='submit'><input type='reset' value='reset'></FORM>");
} else {
pr.println("<h3 style='color:green;'>submitted successfully</h3>");
}
}
}