关于jsp中的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于jsp中的问题相关的知识,希望对你有一定的参考价值。
selected = "selected";
<option value="<%=a.getId()%>"<%= selected %>><%=a.getName()%></option>
刚学,基本不懂什么意思,帮忙解释一下,像=号啊%号之类的,最好能说明一下用法
在通常的jsp代码中,脚本标识使用的比较频繁,包括以下三种元素:声明标识,JSP表达式和脚本程序。
<%=a.getId()%>中的<%= %>是jsp的表达式脚本标识,用于向页面输出信息
<%=a.getId()%>将输出 a.getId()的结果
再举个例子:
<% String name ="楼主" %>
用户名:<%=name%>
以上代码运行结果为如下:
用户名:楼主
下面是部分的JSP语法,楼主可以在网上找到更多的资料来学习
1.page指令
page指令的设置语法格式是:<%@ page attribute1=”value1” attribute2=”value2”…%>
下面介绍指令中包括的几个常用属性,并作简要说明。
l import
import指令是所有page指令中,唯一可以多次设置的指令,而且累加每个设置。它用来指定jsp网页中所需要使用到的一些类。例如:
<%@ page import=”java.io.*,java.util.Date”%>
l session
定义当前页面是否参与http会话。当设置为”true”时,可以获得隐含名为session的对象,为”false”时,则不能。默认设置为”true”。
l contentType
设置jsp网页输出时数据时,所使用的字符压缩方式,以及所使用的字符集,当编写中文网页时,设置如下:
<%@page contentType=”text/html;charset=Gb2312”%>
此属性的默认值为”text/html;charset=ISO-8859-1”。
l buffer
设置jsp网页的缓冲区大小,默认为”8k”,如果设置为”none”,则表示不使用缓冲,所有的响应输出都将被PrintWriter直接写到ServletResponse中。
l isTreadSafe
定义当前页面是否支持线程安全。如果为”true”,则该页面可能同时收到jsp引擎发出的多个请求,反之,jsp引擎会对收到的请求进行排队,当前页面在同一时刻只能处理一个请求。默认为”true”。
l info
设置页面的文本信息,可以通过Servlet.getServletInfo()的方法获得该字符串。
l errorPage
定义指向另一个jsp页面的URL。当页面出现一个没有被捕获的异常时,错误信息将以throw语句抛出,而被设置为错误信息网页的jsp页面,将利用exception隐含对象,取得错误信息。
默认没有错误处理页面。
l isErrorPage
设置此jsp网页是否为错误处理页面。默认值为”false”。当设置为”true”时,jsp页面将可存取隐含的exception对象,并通过该对象取得从发生错误之网页所传出的错误信息。取得错误信息的语法如下:
<% =exception.getMessage()%>
² 一个页面错误处理的例子
产生错误的页面文件为MakeError.jsp,处理错误的页面文件为ErrorPage.jsp,它们的源程序如下:
MakeError.jsp
<%@ page errorPage="ErrorPage.jsp"%>
<html>
<head>
<title>产生错误页面</title>
</head>
<body>
<%
int i=8,j=0;
out.println(ij);
%>
</body>
</html>
ErrorPage.jsp
<%@ page isErrorPage="true"%>
<html>
<head>
<title>错误处理页面</title>
</head>
<body>
<font color=red>
错误原因:<%=exception.getMessage()%>
</font>
</body>
</html>
2.include指令
使用include指令可以把其他的文本文件加入到当前的jsp页面,格式如下:
<%@ include file=”header.inc”%>
如此,则在当前页面中加入header.inc源代码然后再编译整个文件。
可以使用include指令把一个页面分成不同的部分,最后合成一个完整的文件,使用jsp的include指令有助于实现jsp页面的模块化。
3.taglib指令
该指令主要是在JSP页面插入插件!具体的用法尚不熟悉~
接下来说说JSP页面中的标准动作吧!
标准动作元素用于执行一些常用的JSP页面动作,例如:将页面转向、使用JavaBean、设置JavaBean的属性等。在JSP中,标准动作元素共有以下几种:
l <jsp:param>
l <jsp:include>
l <jsp:forward>
l <jsp:plugin>
l <jsp:useBean>
l <jsp:setProperty>
l <jsp:getProperty>
其中<jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>这三个是专门用来操作JavaBeans的。
下面分别介绍它们。
1. <jsp:param>
<jsp:param>动作用于传递参数,必须配合<jsp:include>、<jsp:forward>、<jsp:plugin>动作一起使用。
语法格式:
<jsp:param name = “name1” value = “value1”/>
2. <jsp:include>
<jsp:include>动作用于动态加载HTML页面或者JSP页面。
语法格式:
<jsp:include page = “网页路径”>
<jsp:param name = “name1” value = “value1”/>
<jsp:param name = “name2” value = “value2”/>
<jsp:include/>
在jsp页面中,可以利用下面的语法取得返回的参数:
request.getParameter(“name1”);
若不传递参数时,则语法格式如下:
<jsp:include page = “网页路径”/>
举例:
a.jsp页面代码如下:
<jsp:include page = "b.jsp">
<jsp:param name = "name1" value = "value1"/>
<jsp:param name = "name2" value = "value2"/>
</jsp:include>
b.jsp页面代码如下:
名字1、;<%=request.getParameter("name1")%>
<hr color=red>
名字2、;<%=request.getParameter("name2")%>
执行结果如下:
“include标准动作”和“include指令”的差别在于:“include标准动作”包含的页面在运行时被加入,而“include指令”在编译时就被加入了。
3. <jsp:forward>
<jsp:forward>动作用于将浏览器显示的页面导向到另一个HTML页面或者jsp页面。
语法格式:
<jsp:forward page = “网页路径”/>
当然,<jsp:forward>动作中也可以加入<jsp:param>参数,其设置和获得参数的方法与<jsp:include>类似。
4. <jsp:plugin>
<jsp:plugin>动作用于加载applet,用途与HTML语法中的<Applet>及<Object>标记相同。该动作是在客户端执行的,这里就不作介绍了。
5. <jsp:useBean>
(见后文的“JavaBeans”的使用)
6. <jsp:setProperty>
(见后文的“JavaBeans”的使用)
7. <jsp:getProperty>
(见后文的“JavaBeans”的使用)
另外,附加的讲一下JSP中的内置对象
内置对象
在jsp页面中有一些已经完成定义的对象,称之为内置对象。这些对象可以不经过定义就直接使用,因为它们是由jsp页面自己定义的。
jsp程序常用的内建对象有如下几个:request、response、out、session、pageContext、application、config、page、exception。你可以在jsp页面中直接使用它们,用以加强jsp程序的功能。
下面分别介绍它们。
1. request
与request相联系的是HttpServletRequest类。通过getParameter方法可以获得相应的参数值。
2. response
与response相联系的是HttpServletResponse类。表示Web页面针对请求的应答。
3. out
与out相联系的是PrintWrite类。可以使用此对象将内容输出到页面中。
4. session
与session相联系的是HttpSession类。用来传递客户的会话内容。
5. pageContext
与pageContext相联系的是pageContext类。用它能方便的访问本页面中设置的共享数据。
6. application
与application相联系的是ServletContext类。用它能够实现应用程序级别的数据共享。
7. config
与config相联系的是ServletConfig类。用来在jsp页面范围内处理jsp配置。
8. page
代表jsp页面编译成的Servlet实例,一般不用。
9. exception
与exception相联系的是Throwable类。用来捕获jsp执行时抛出的异常。 参考技术A 你说的是脚本:
1. 声明:<%! %> 用于声明变量和方法的Java代码 (分号结束)
2。表达式:<%= %> 能够生成一个结果值的表达式 (无分号))
(比如value="<%=a.getId()%>" <%=a.getId()%> 就是一个动态值,也可写成
<% String idStr= a.getId() %>
value="<%=idStr>"
)
3。小脚本:<% %> 任意的Java代码本回答被提问者采纳 参考技术B <% %>可以在jsp页面里面写java代码
<%= %>只是用普通的java代码得到值
<% String str= "123"; %>
这样我就可以在页面中显示我刚才定义的值
<input type="text" value="<%= str%>">文本框中会显示123
a.getId()得到的是a中id的值 a.getName得到的是a中name的值
这样做是为了实现动态显示的效果
selected是一个变量 通过赋值给它 可以实现某个下拉选项被选定
例如;
<select name="sel">
<option value="123" selected>我的值是?</select>
</select>
这样就做了一个下拉框 页面中下拉框中显示的是 我的值是? 这个文本内容 action传值就会变成这样 ---> url?sel="123" 参考技术C 这行代码的功能实现下拉列表。
<%= %>是输出,<%=a.getId() %>就相当于输出a的Id
value=“<%=a.getId() %>”是该项的值为a的Id值,
<%= selected %>是该项被选中,因为下拉列表中应有某一项被选中。
<option > </option>之间的事实际下拉列表显示的内容。 参考技术D 取值,
如我在jsp中定义了一个变量。
<%
String str="人才";
%>
<input value="<%=str%>"/> 此时input中的值就是人才
以上是关于关于jsp中的问题的主要内容,如果未能解决你的问题,请参考以下文章
关于Jsp中的ArrayList。我在做一个毕业设计,是从一个网上下的一个项目,一直在修改,不过Jsp出现问题!