您的位置:首页 > 产品设计 > UI/UE

JSP基础语法之六:request对象,1用getParameterNames取得checkbox全部值,2解决getParameter中文乱码

2012-10-05 22:17 387 查看
一:requset.getParameterNames()取得checkbox全部值

前台表单的复选框checkbox命名时统一以"_CB"结尾

后台通过String的结尾字符自动判断:是checkbox时用request.getParameterValues()

否则用request.getParameter()方法

<br><br><br>
<%
Enumeration enm = request.getParameterNames();

while(enm.hasMoreElements())
{
String eget = (String)enm.nextElement();
%>
Enumeration获得表单元素名称:<%=eget%>
<%
if(eget.endsWith("_CB"))/*checkbox命名时必须以"_CB"结尾*/
{
/*getParameterValues之前应该验证,否则不选CheckBox时会出NullPointerException*/
/*if(null != eget) 这验证过结尾字符了,所以不用再次验证*/
String[] eget_CB = request.getParameterValues(eget);
%> :以“_CB”结尾的checkBox的值: <%
for(int i=0;i<eget_CB.length;i++)
{
%>
<%=eget_CB[i]%>
<%
}
%> <br> <%
}
else
{
try
{
%>
普通参数值:<%=request.getParameter(eget)%> <br>
<%
}catch(Exception e){}

}
}

%>


二:两种解决reques接收中文时乱码的方法

方法二选其一,书上推荐前者

<%
//指定接收编码,只能在接收端指定
request.setCharacterEncoding("GBK");

//或使用下列方法重新创建一个字节型Srting。两种方法二选一
//String context = new String(request.getParameter("info").getBytes("ISO8859-1"));
%>


三:获取其他信息

<%
String method = request.getMethod();
String ip = request.getRemoteAddr();
String path = request.getServletPath();
String contextPath = request.getContextPath();
%>
<h2> 请求方式:<%=method%> </h2> //直接访问是GET,跳转过来时POST
<h2> IP地址:<%=ip%> </h2>
<h2> 访问路径:<%=path%> </h2>
<h2> 上下文路径:<%=contextPath%> </h2>	//用于定位根目录下的文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp string exception path null
相关文章推荐