
${}不能直接获取到request对象,${requestname}当然也不能获取到request中的属性,想获取request中的属性,可以通过${pageContextrequestname}来获取request中名字为name的属性。例如${pageContextrequestcontextPath}可以获取上下文路径,${requestscopename}就简单了,就是获取request域中的attribute,和Java代码中的requestgetAttribute("name")一样,效果不同的是,如果域中没有该属性,requestgetAttribute("name")返回null,${requestscopename}什么都不显示
在jsp页面中function方法里可以使用request。jsp是一个特殊的Servlet,jsp中可以使用九大隐式(内置)对象,分别是 request对象、 response对象、 session对象、out对象、page对象、 application对象、 exception对象、pageContext对象 、config对象。所以只要是在jsp页面范围内就可以使用request对象
JSP中request封装的是用户的请求信息,和Servlet的doGet和doPost中的request是一样的。
客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是>
常用的request的方法:
(1)object getAttribute(String name) 返回指定属性的属性值 ;
(2)String getParameter(String name) 返回name指定参数的参数值,用来获取form中input等用户输入的值。
(3)void setAttribute(String name, Object value); 设置属性,用getAttribute取回。
可以在JSP中运行下面的代码就知道了:
请求方式:<%=requestgetMethod()%><br>请求的资源:<%=requestgetRequestURI()%><br>
请求用的协议:<%=requestgetProtocol()%><br>
请求的文件名:<%=requestgetServletPath()%><br>
请求的服务器的IP:<%=requestgetServerName()%><br>
请求服务器的端口:<%=requestgetServerPort()%><br>
客户端IP地址:<%=requestgetRemoteAddr()%><br>
客户端主机名:<%=requestgetRemoteHost()%><br>
表单提交来的值:<%=requestgetParameter("qwe")%><br>
其实对于JSP中的内置对象,牢记一点:JSP本身就是一个Servlet,它会被容器编译为一个java类。
比如Tomcat容器在works目录下就可以找到你的JSP文件编译好的类,它对JSP中HTML代码用的就是outwrite()输出的。
先学会用Servlet处理信息,在用JSP会很容易,JSP本身就是为了解决在Java代码中拼写HTML代码这个烦人的问题而诞生的一种技术。Servlet才是基础!
参考
首先呢你的 type="submit" 他是表单的一个特殊的元素
一般来说 取得值是 <input type="text"或者是文本框里面的值
用request 取值最好先设置一下编码以免乱码
给你个例子
<form action="addDojsp" method="post" onSubmit="return chk()">
<table style="border:2px solid;text-align:center;">
<tr>
<td colspan="2">添加员工信息</td>
</tr>
<tr>
<td id="re">员工姓名</td>
<td><input name="txtName" id="txtName" class="c" /> </td>
</tr>
<tr>
<td>部门</td>
<td><input name="txtDe" id="txtDe"/></td>
</tr>
<tr>
<td id ="re">手机号码</td>
<td><input name="txtPhone" id="txtPhone" class="c"/></td>
</tr>
<tr>
<td>电子邮件</td>
<td><input name="txtEmail" id="txtEmail"/></td>
</tr>
<tr style="text-align:center;">
<td colspan="2">
<input type="button" value="返回" onClick="javascript:windowlocationhref='indexjsp'"/>
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</form>
以上是表单页面
一下是处理页面
<%@ page language="java" import="javautil" pageEncoding="GBK"%>
<%@ page import="comaccpentity,comaccpdao" %>
<%
String path = requestgetContextPath();
String basePath = requestgetScheme()+"://"+requestgetServerName()+":"+requestgetServerPort()+path+"/";
%>
<%
requestsetCharacterEncoding("GBK");//设置编码为GBK
String name=requestgetParameter("txtName");获取值
String de=requestgetParameter("txtDe");
String phon=requestgetParameter("txtPhone");
String email=requestgetParameter("txtEmail");
int i=new contactDao()getInfoByName(name);
if(i>0){
outprint("<script>windowalert('用户名存在!')</script>");
outprint("<script>windowlocationhref='addjsp'</script>");
}else{
int ii=new contactDao()addInfo(new contacts(name,de,phon,email));
if(ii>0){
outprint("<script>windowalert('添加成功!')</script>");
outprint("<script>windowlocationhref='indexjsp'</script>");
}
}
%>
就是说一般用 requestgetParameter("表单的Name");获取的
不能这么请求。
因为页面上的request 和使用form提交的request 请求 不是一个对象。测试如下:
首先在jsp页面中打印出来request对象
<%
requestsetAttribute("test","test");
Systemoutprintln("request="+request+"返回页面对象");//这里打印出页面request对象
%>
部分action代码如下:
>
以上就是关于jsp页面的${request.name}和${requestscope.name}的区别全部的内容,包括:jsp页面的${request.name}和${requestscope.name}的区别、在jsp页面中function方法里可以使用request吗、jsp关键字request怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)