从.jsp文件数据发送到aome JavaScript函数.jsp文件
问题描述:
以下是OneEmployee.jsp从.jsp文件数据发送到aome JavaScript函数.jsp文件
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<form>
<td> <c:out value="${emp.getEmpid()}"/></td>
<td> <input type="text" id="fname" value="<c:out value="${emp.getFname()}"/>"></td>
<td> <input type="text" id="lname" value="<c:out value="${emp.getLname()}"/>"></td>
<td> <input type="text" id="dob" value="<c:out value="${emp.getDob()}"/>"></td>
<td> <input type="text" id="salary" value="<c:out value="${emp.getSalary()}"/>"></td>
<td><button type="button" class="btn btn-xs" onclick="update(<c:out value="${emp.getEmpid()}"/>)">Update</button></td>
</form>
以下是// Welcome.jsp中JSP网页
<script>
function update(id) {
var empid = "?empid=" + id;
var formdata = "xyz";
var fname = document.getElementById("fname").value;
var lname = document.getElementById("lname").value;
var dob = document.getElementById("dob").value;
var salary = document.getElementById("salary").value;
var paramlist = "?empid=" + empid + "&fname=" + fname + "&lname=" + lname + "&dob=" + dob + "&salary=" + salary;
$.ajax({
type: "post",
data: formdata,
url: "UpdateEmployee" + paramlist,
success: function (data) {
$('#row' + id).html(data);
}
});
}
</script>
以下是一个Java servlet UpdateEmployee.java
String id = request.getParameter("empid");
String fname = request.getParameter("fname");
String lname = request.getParameter("lname");
String dob = request.getParameter("dob");
String sal = request.getParameter("salary");
double salary = Double.parseDouble(sal);
int empid = Integer.parseInt(id);
我想在的Welcome.jsp中的update()从OneEmployee.jsp获取输入数据和将数据发送到servlet UpdateEmployee.java。 Glassfish服务器回应:
Warning: StandardWrapperValve[UpdateEmployee]: Servlet.service() for servlet UpdateEmployee threw exception
java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
问题是什么?这里出了什么问题?为什么OneEmployee.jsp将空字符串传递给Welcome.jsp并因此传递UpdateEmployee,jsp?
答
你试图所以异常被抛出来解析为空字符串:
的问题是,你得到从前端代码(AJAX REQ)的空值。 (在发送之前在浏览器控制台中重新检查)。
首先检查,如果它不是null
或empty
当您分析otherewise返回0:
String id = request.getParameter("empid");
String fname = request.getParameter("fname");
String lname = request.getParameter("lname");
String dob = request.getParameter("dob");
String sal = request.getParameter("salary");
double salary = 0;
if (sal != null && sal.length() > 0) {
try{
salary = Double.parseDouble(sal);
}catch(Exception e) {
salary = 0;
}
}
int empid = 0;
if (id != null && id.length() > 0) {
try{
empid = Integer.parseInt(id);
}catch(Exception e) {
empid = 0;
}
}
+0
你解决了你的问题吗? –
你检查的实际要求?使用F12打开浏览器控制台,发出请求,然后检查网络选项卡是否确实设置了所有参数。 –
不,它表示UpdateEmployee.java的“内部服务器错误”servlet – user2353193
这就是响应。我们想知道您实际发送到服务器的内容。什么是请求的URL(因为您通过url查询传递参数)? –