日期:2014-05-17  浏览次数:20639 次

JSP表单提交给servlet,获取表单数据
 在一个JSP表单内有单选框、复选框、输入框等,在servlet获取值,怎么办?

以下的JSP文件大概意思概括如下:从数据库取出所有数据放入Iterator,然后根据每一条数据的类型显示为单选、多选、单选+输入、多选+输入、填空、多行输入。每一个题目的name设为它在数据库的ID。

jsp如下: 
<!-- 
   显示问卷内的题目
 -->

<hr />
<%
while (it.hasNext()) {

Questions questions = (Questions) it.next();
%>

<br /><%=questions.getQ_id()%>&nbsp;
<%=questions.getQ_head()%><br />
<%
String body = questions.getQ_body();
Vector<String> vector = ParseString.ParseStr(body);//把题目的内容根据换行符分割
String qType = questions.getQ_type().getQt_des();
if (qType.endsWith("单选")) {//若果是单选就依次显示单选选项
for (int i = 0; i < vector.size(); i++) {
%>
               <!--把题目编号作为name传过去  -->
<input type="radio" name="<%=questions.getQ_id()%>" value="<%=i%>" /><%=vector.get(i)%><br />
<%
}
} else if (qType.endsWith("多选")) {
for(int i=0;i<vector.size();i++){
%>
<input type="checkbox" name="<%=questions.getQ_id()%>" value="<%=i%>" /><%=vector.get(i)%><br />
<%
}
}
else if (qType.endsWith("单选+输入")) {
for(int i=0;i<vector.size()-1;i++){
%>
<input type="radio" name="<%=questions.getQ_id()%>" value="<%=i%>" /><%=vector.get(i)%><br />
<%
}
%>
<%=vector.get(vector.size()-1)%><br/>
<textarea rows="2" cols="20" name="single_in" ></textarea><br />
<%
}
else if (qType.endsWith("多选+输入")) {
for(int i=0;i<vector.size()-1;i++){
%>
<input type="checkbox" name="<%=questions.getQ_id()%>" value="<%=i%>" /><%=vector.get(i)%><br />
<%
}
%>
<%=vector.get(vector.size()-1)%><br/>
<textarea rows="2" cols="30" name="chect_in" ></textarea><br />
<%
}
else if (qType.endsWith("填空")) {

%>
<%=body%><br />请填写答案:<input type="text" name="<%=questions.getQ_id()%>"/><br />