[英]JSP get value of a html type=number input field
因此,我必须将一种提供工具作为作业来学习JSP,其基本原理是客户进入索引站点并输入他的数据,然后他被重定向到第二页,向其显示完整报价一切都经过计算。
该表格如下所示:
<form method="POST" action="offer.jsp">
<table>
<tr>
<td>Name:</td><td><input type="text" name="name"></td>
</tr>
<tr>
<td>Addresse:</td><td><input type="text" name="address"></td>
</tr>
<tr>
<td>Boden in m²:</td><td><input type="number" name="area" min="1" value="10"></td>
</tr>
<tr>
<td>Anzahl der Räume mit bis zu 15m²:</td><td><input type="number" name="rooms_15" min="0"</td>
</tr>
<tr>
<td>Anzahl der Räume mit bis zu 25m²:</td><td><input type="number" name="rooms_25" min="0"></td>
</tr>
<tr>
<td>Anzahl der Räume mit bis zu 40m²:</td><td><input type="number" name="rooms_40" min="0"></td>
</tr>
<tr>
<td>Anzahl der WC-Räume:</td><td><input type="number" name="toiletrooms" min="0"></td>
</tr>
<tr>
<td>Anzahl der WCs insgesamt:</td><td><input type="number" name="toilets" min="0"></td>
</tr>
<tr>
<td>Anzahl der Bäder:</td><td><input type="number" name="bathrooms" min="0"></td>
</tr>
<tr>
<td>Anzahl der Küchen:</td><td><input type="number" name="kitchens" min="0"></td>
</tr>
</table>
<br>
<input type="submit" value="Berechnen" onclick="<%
offer.setName(request.getParameter("clientname"));
offer.setAddress(request.getParameter("address"));
System.out.print("\n\n\n"+request.getParameter("area")+"\n\n\n"); // S.O.P. for testing reasons
// offer.setArea(request.getParameter("area"));
%>; location.href = 'offer.jsp'">
</form>
我只是为了测试而摆弄area属性。 计划是将所述输入的值设置为我的JavaBean,但request.getParameter("area");
即使我使用htmls value="10"
为它提供默认值,它仍然保持为null
。 我已经发现输入需要采用某种形式才能工作(duh),仅此而已。 问题不是我的JavaBean或类似的东西,因为普通的文本字段(“名称”和“地址”字段)工作得很好,并且可以在下一页正确显示。
希望可以有人帮帮我。
此致,
勋爵
**MVC Architecture with JSP and Servlet**
**Model**
public class StudentBean {
private int rno;
private String name;
private float fee;
public StudentBean() {
}
public int getRno() {
return rno;
}
public void setRno(int rno) {
this.rno = rno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getFee() {
return fee;
}
public void setFee(float fee) {
this.fee = fee;
}
@Override
public String toString() {
return "StudentBean [rno=" + rno + ", name=" + name + ", fee=" + fee + "]";
}
}
**View**
<%@ 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>Insert title here</title>
</head>
<body>
<form method="get" action="StudentController">
Rno: <input type="text" name="rno"/> <br/>
Name: <input type="text" name="name"/> <br/>
Fee: <input type="text" name="fee"/> <br/>
<input type="submit" name="btnSubmit" value="Submit"/>
</form>
</body>
</html>
**Controller**
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/StudentController")
public class StudentController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
StudentBean studentBean = new StudentBean();
studentBean.setRno(Integer.parseInt(request.getParameter("rno")));
studentBean.setName(request.getParameter("name"));
studentBean.setFee(Float.valueOf(request.getParameter("fee")));
System.out.println(studentBean);
request.getSession().setAttribute("studentObject", studentBean);
request.getServletContext().getRequestDispatcher("/output.jsp").forward(request, response);
}
}
**another page, where bean is being used.**
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="com.loardscrat.controller.*" %>
<!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>Insert title here</title>
</head>
<body>
<h1>Hello</h1>
<%
StudentBean studentBean = (StudentBean) request.getSession().getAttribute("studentObject");
out.print(studentBean.getRno());
out.print(studentBean.getName());
out.print(studentBean.getFee());
%>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.