
当你第一次进ejsp,那么它会执行<%
String[] name=(String[])requestgetParameterValues("check");
int i;
for(i=0;i<namelength;i++)
{
if(name[i]!=null)
{
outprint(name[i]+"<br>");
}
}
%>的代码。你首次进入ejsp,那么你是不是还没去做复选框的 *** 作,那么你得到的name就是null,一个null值有长度吗?所以你的NullPointException就出错在namelength。解决办法有2种:1蒋你得到复选框的值的代码放到一个新的jsp页面中去,提交的时候就提交到这个新jsp页面。(推荐)2在你执行for循环的时候,先进行一个判断,即判断你得到的复选框的值是否为null,为null就不执行for循环希望对你有帮助!
使用form表单提交RID复选框的值到backgroud/do_DeleteInboxByStatejsp页面,才可以使用String s[] = requestgetParameterValues("RID"),获取数组形式的RID值。
或者使用形如:
windowlocationhref = "backgroud/do_DeleteInboxByStatejspRID=123&RID=123&RID=123";
这种格式的URL传值也可以(但是不推荐)。
用数组接收 我刚好有源码 给你看看
<script type="text/javascript">
function selectit(){
//设置变量form的值为name等于select的表单
var form=documentselect
//取得触发事件的按钮的name属性值
var action=eventsrcElementname
for (var i=0;i<formelementslength;i++){//遍历表单项
//将当前表单项formelements[i]对象简写为e
var e = formelements[i]
//如果当前表单项的name属性值为iTo,
//执行下一行代码。限定脚本处理的表单项范围。
if (ename == "iTo")
/如果单击事件发生在name为selectall的按钮上,就将当前表单项的checked属性设为true(即选中),否则设置为当前设置的相反值(反选)/
echecked =(action=="selectall")(formselectallchecked):(!echecked)
}
}
</script>
<input type="checkbox" name="selectall" onclick="selectit()">全部
<input type="checkbox" name="iTo" id="c" value="<s:property value="id"/>">
jsp中获取checkbox 的值都是通过name 映射的,如果要传id的话,可以把id和name命名统一就可以了。
参考写法:
比如页面上有<input type="checkbox" id="cc" name="cc" value="苹果">里name和id都改成一样的,只要你在confirmjsp页面写上如下代码
<%
String arr[]= requestgetParameterValues("cc");//这时接收到的就是一个数组了
for(int i=0;i<arrlength;i++){
outprintln(arr[i]);
}
%>
servlet中获取到的是cc字符数组,循环处理就可以了。
首先贴出代码片段,然后根据代码逐一说明
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
<!--引入 fn jstl支持-->
<%@ taglib prefix="fn" uri="
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" "
<html>
<head>
<meta ;
假设复选框的name是licence,后台用info对象接收,那么回显的时候实际上就是判断infolicence是否包含当前复选项的值,这时候借助jstl fn组件中的函数contains来解决,contains用来判断参数1中是否包含字符串参数2,用法和java总的一样。这里要注意,为了能使用contains函数,需要在页头进行声明,参见代码片段第三行
关于contains的详细描述如下:
fn:contains(string, substring)
假如参数string中包含参数substring,返回true
例如:<c:if test="${fn:contains(name, searchString)}">
fn还有很多其他好用的函数
1、fn:containsIgnoreCase(string, substring)
假如参数string中包含参数substring(忽略大小写),返回true
2、 fn:endsWith(string, suffix)
假如参数 string 以参数suffix结尾,返回true
3、fn:escapeXml(string)
将有非凡意义的XML (和HTML)转换为对应的XML character entity code,并返回
4、fn:indexOf(string, substring)
返回参数substring在参数string中第一次出现的位置
5、fn:join(array, separator)
将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。
6、fn:length(item)
返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。假如是String类型,返回值是String中的字符数。
7、fn:replace(string, before, after)
返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果
8、fn:split(string, separator)
返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素
9、fn:startsWith(string, prefix)
假如参数string以参数prefix开头,返回true
10、fn:substring(string, begin, end)
返回参数string部分字符串,从参数begin开始到参数end位置,包括end位置的字符
11、fn:substringAfter(string, substring)
返回参数substring在参数string中后面的那一部分字符串
12、fn:substringBefore(string, substring)
返回参数substring在参数string中前面的那一部分字符串
13、fn:toLowerCase(string)
将参数string所有的字符变为小写,并将其返回
14、fn:toUpperCase(string)
将参数string所有的字符变为大写,并将其返回
15、fn:trim(string)
去除参数string 首尾的空格,并将其返回
JSP页面里的复选框的 name 要一样。
这样在Servlet里面接收的话 用 requestgetParameterValues("name");
例如 JSP页面 的复选框有3个 name都是 checkbox
提交到 Servlet里面取的话就是 String[] s = requestgetParameterValues("checkbox");
1给复选框命名:<input type='checkbox' name='checkTheme' value='">。
2在提交的时候onclick="aa();"。
3在jsp页面中放一个input hidden的属性去接收aa()里面的值:
4action里面:
private String tempString;//get、set方法,String temp1[] = tempStringsplit(",");// 截取字符串,获得各个checkBox的值。
5这个数组temp1[]里面的值就是要获取的各个复选框里取到的值。
JSP(java服务器页面)
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(htm,
html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他 *** 作系统上运行。
它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
以上就是关于jsp复选框checkbox全部的内容,包括:jsp复选框checkbox、JSP怎么将多个复选框的value值,传到另一个页面、如果一个jsp页面里面有很多复选框 当选中多个的时候怎样在另一个页面接收这些复选框(多个)的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)