Javascript 如何从jsp/servlet中表数据单元内部的文本框中获取值?
您好,我正在尝试从表中元素内的文本框中获取值。对于每一行,我都有一个编辑按钮,它应该转到servlet,更新字段,刷新表数据,然后返回到同一个jsp页面 这是我的桌子Javascript 如何从jsp/servlet中表数据单元内部的文本框中获取值?,javascript,java,jsp,servlets,httprequest,Javascript,Java,Jsp,Servlets,Httprequest,您好,我正在尝试从表中元素内的文本框中获取值。对于每一行,我都有一个编辑按钮,它应该转到servlet,更新字段,刷新表数据,然后返回到同一个jsp页面 这是我的桌子 <table border="2"> <tr> <th>ID</th> <th>Short Desc</th>
<table border="2">
<tr>
<th>ID</th>
<th>Short Desc</th>
<th>Long Desc</th>
<th>Status</th>
</tr>
<c:forEach var="state" items="${stateList}">
<tr>
<td><input type="text" name="editStateId" value="${state.stateId}"/></td>
<td><input type="text" name="editShortDesc" value="${state.shortDesc}"/></td>
<td><input type="text" name="editLongDesc" value="${state.longDesc}"/></td>
<td><input type="text" name="editIsActiveString" value="${state.isActiveString}"/></td>
<td>
<form action="witc" method="post">
<input type="hidden" name="action" value="manageDispoType">
<input type="hidden" name="stateId" value="${state.stateId}"/>
<input type="hidden" name="manageType" value="stateType">
<input type="submit" value="Edit" class="editbuttons"/>
</form>
</td>
</tr>
</c:forEach>
</table>
身份证件
短描述
长描述
地位
在我的servlet中,我试图从这些文本框中获取要添加到状态类并更新数据库的值。我使用的是request.getParameter(),但得到的是空值
这是我的servlet
private String doManageType(HttpServletRequest request, HttpServletResponse response){
String urlString;
StateType stateType = new StateType();
List<StateType> stateList = GetDb.getAllStates();
//below is the code I'm having trouble with
String shortDesc = request.getParameter("editShortDesc");
String longDesc = request.getParameter("editLongDesc");
String isActive = request.getParameter("editIsActive");
request.setAttribute("stateList", stateList);
stateType.setShortDesc(shortDesc);
stateType.setLongDesc(longDesc);
stateType.setIsActiveString(isActive);
UpdateDb.updateState(stateType);
urlString = "/manageTypes.jsp";
return urlString;
}
私有字符串域管理类型(HttpServletRequest请求,HttpServletResponse响应){
字符串URL字符串;
StateType StateType=新StateType();
List stateList=GetDb.getAllState();
//下面是我遇到问题的代码
字符串shortDesc=request.getParameter(“editShortDesc”);
字符串longDesc=request.getParameter(“editLongDesc”);
字符串isActive=request.getParameter(“editiactive”);
setAttribute(“stateList”,stateList);
stateType.setShortDesc(shortDesc);
stateType.setLongDesc(longDesc);
stateType.setisActiviteString(isActive);
UpdateDb.UpdateEstate(stateType);
urlString=“/manageTypes.jsp”;
返回URL字符串;
}
您的代码有两个问题:
A.表单应包含以下字段:editStateId
、editShortDesc
、editLongDesc
等:
<table border="2">
<tr>
<th>ID</th>
<th>Short Desc</th>
<th>Long Desc</th>
<th>Status</th>
</tr>
<c:forEach var="state" items="${stateList}">
<form action="witc" method="post">
<tr>
<td><input type="text" name="editStateId" value="${state.stateId}"/></td>
<td><input type="text" name="editShortDesc" value="${state.shortDesc}"/></td>
<td><input type="text" name="editLongDesc" value="${state.longDesc}"/></td>
<td><input type="text" name="editIsActiveString" value="${state.isActiveString}"/></td>
<td>
<input type="hidden" name="action" value="manageDispoType">
<input type="hidden" name="stateId" value="${state.stateId}"/>
<input type="hidden" name="manageType" value="stateType">
<input type="submit" value="Edit" class="editbuttons"/>
</td>
</tr>
</form>
</c:forEach>
</table>
身份证件
短描述
长描述
地位
B.在servlet中,您应该编写request.getParameter(“editIsActive”)
而不是request.getParameter(“editIsActive”)