Java Servlet中怎么获取JSP表格内容
jsp表格一张:checkbox及对应title,box.value里存isbn<tablewidth="250"border="1"><%String[]titles=...
jsp表格一张:checkbox及对应title, box.value里存isbn
<table width="250" border="1">
<%
String[] titles = Books.getTitles();
String[] isbns = Books.getIsbns();
%>
<% for(int row=0; row<titles.length; row++) {
%>
<tr>
<td width="100" align="center" nowrap="nowrap"><input type="checkbox" name="checkbook" value=<%= isbns[row] %> /></td>
<td width="150" nowrap="nowrap"><%= titles[row] %></td>
</tr>
<% } %>
</table>
doPost in Servlet部分:把选中的对应数据add到lba。要求isbn和title。
String[] isbns = request.getParameterValues("checkbook");
for(int i=0;i<items.length;i++)
lba.addItem(isbns[i], titles[i]);
isbn是有了,title怎么拿比较好?
我想问的是要怎么改jsp 展开
<table width="250" border="1">
<%
String[] titles = Books.getTitles();
String[] isbns = Books.getIsbns();
%>
<% for(int row=0; row<titles.length; row++) {
%>
<tr>
<td width="100" align="center" nowrap="nowrap"><input type="checkbox" name="checkbook" value=<%= isbns[row] %> /></td>
<td width="150" nowrap="nowrap"><%= titles[row] %></td>
</tr>
<% } %>
</table>
doPost in Servlet部分:把选中的对应数据add到lba。要求isbn和title。
String[] isbns = request.getParameterValues("checkbook");
for(int i=0;i<items.length;i++)
lba.addItem(isbns[i], titles[i]);
isbn是有了,title怎么拿比较好?
我想问的是要怎么改jsp 展开
5个回答
展开全部
建议你使用 json进行数据的传值,就是在数据传过去前拼接字符串, 循环获取选择了的行中两个需要的值,拼接成json数据。传到后台后可以直接用json解析它。如果你嫌麻烦,那就直接拼接成字符串,后台按照你凭借的形式解析也行。
--------------
你是用表单提交的吗?如果是 那在form标签上有个方法onsubmit 你可以通过这个方法去在提交前拼接。
<form onsubmit="return con();">
<script>
function con(){
//TODO 设一个全局变量 遍历class 为 cb的checkbox
//判断它是否是被选中的 选中的话 获取其父节点的父节点 即tr 再获取它其子类td中的值
//拼接 其值
//遍历完之后将拼接好的字符串 赋值给页面中的 一个隐藏的id=" isbnsStr" 的input
}
</script>
而页面上显示 你只需 这样:
<tr><td>
<input type="checkbox" class="cb"/></td>
<td style="dispaly:none;"><!--这里你也可以将其值放在checkbox中 取的时候从checkbox中取-->
第一个值
</td>
<td>
第二个值
</td>
</tr>
页面上放一个<input type="text" style="display:none;" id="isbnsStr" name=“isbnsStr”/>
后台获取 isbnsStr即可
--------------
你是用表单提交的吗?如果是 那在form标签上有个方法onsubmit 你可以通过这个方法去在提交前拼接。
<form onsubmit="return con();">
<script>
function con(){
//TODO 设一个全局变量 遍历class 为 cb的checkbox
//判断它是否是被选中的 选中的话 获取其父节点的父节点 即tr 再获取它其子类td中的值
//拼接 其值
//遍历完之后将拼接好的字符串 赋值给页面中的 一个隐藏的id=" isbnsStr" 的input
}
</script>
而页面上显示 你只需 这样:
<tr><td>
<input type="checkbox" class="cb"/></td>
<td style="dispaly:none;"><!--这里你也可以将其值放在checkbox中 取的时候从checkbox中取-->
第一个值
</td>
<td>
第二个值
</td>
</tr>
页面上放一个<input type="text" style="display:none;" id="isbnsStr" name=“isbnsStr”/>
后台获取 isbnsStr即可
追问
不用这么麻烦吧,就是想把title关联上个值好从servlet里拿到
追答
那你把值全都放在checkbox 的value中好了 用*,-等分割一下就是 />另外显示的让它显示
后台遍历时 用split(“,”)把两个值分开就好了
展开全部
在 web.xml里配置:
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给title的ta一个name ,然后用jquery的刷选器获取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把<%= titles[row] %>放到文本框里不可以么?
<input type="text" name="title" value="<%= titles[row] %>" readonly="readonly" />
request.getParameter("title");
<input type="text" name="title" value="<%= titles[row] %>" readonly="readonly" />
request.getParameter("title");
追问
但文本框的边线比较难看
只能在旁边放个hidden了吗?
追答
用css把边框去掉呗,放个type=“hidden”也行,用js也可以,两三行代码,不常用,我也忘了,
是利用上下级节点
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<a name="label"><%= titles[row] %></a>这样?我没看懂你什么意思,拿的难点在哪?他跟拿isbn有什么区别?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询