jsp复选框checkbox

jsp复选框checkbox,第1张

当你第一次进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页面里面有很多复选框 当选中多个的时候怎样在另一个页面接收这些复选框(多个)的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9730312.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存