JavaWEB-(三十)JSP常用动作标签

本文最后更新于:December 3, 2021 pm

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

目录

1.常用动作标签

动作标签指的是JSP页面在运行期间的命令。

<jsp:action_name attribute=”value” />

注意:最后面的斜杠不能忘!!!

1.1 include

<jsp:include >动作元素会将外部文件的输出结果包含在JSP中(动态包含)。

<jsp:include page=”相对URL地址” />

与前面的include指令不同,指令是将外部文件的输出代码复制到了当前JSP文件中。而动作是将外部文件的输出结果引入到当前JSP文件中。

将指令那儿的名称冲突问题的代码用来做比较,只需要将其指令改为动作即可解决名称冲突问题。
即,将一下代码:

1
<%@ include file="B.jsp"%>

修改为:

1
<jsp:include page="B.jsp" />

即可解决问题。需要注意的一点:后面的斜杠(/)不能忘记,不然会报错!!!

和指令的区别,可以自行查看java类的代码,可以看见其区别。最主要的是那行带有参数的 include。这一行代码就是打印的外部文件的结果。也就是通过include实现了动态包含。

1.2 useBean

jsp:useBean动作用来加载一个将在JSP页面中使用的JavaBean。

<jsp:useBean id=”name” class=”包名.类名” />

在类加载载入后,可以通过jsp:setProperty和jsp:getProperty动作来修改和获取bean的属性。

1.2.1 setProperty(赋值)

在jsp:useBean元素之后使用 jsp:setProperty进行属性的赋值。有三个参数。

  1. name:必需的。表示给哪一个Bean设置属性。
  1. property:必需的。表示设置哪个属性。
  1. value:可选的。用来指定属性的值。

用法:

1
<jsp:setProperty name="" property="" value=""/>

1.2.2 getProperty(取值)

获取指定Bean属性的值,转换成字符串,然后输出。有两个参数。

  1. name:表示要检索的Bean属性名称。Bean必须是已经定义了的。
  1. property:表示要获取的Bean属性的值。

用法:

1
<jsp:getProperty name="" property=""/>

1.2.3 自我总结

类似于一般的定义一个类,然后创建类,类中有其他属性,然后给类中的属性变量赋值,然后再获取属性变量的值。唯一不同的是,类必须要标准化(有:有参无参的构造函数、get、set方法等)。

因为useBean中需要两个参数:一个id,一个class。刚好对应正常类中的:对象的名字,类的全限定名称。
setProperty中需要三个参数,刚好对应正常类中的给对象属性赋值的操作:对象名.属性名=值,刚好三个参数。
getProperty中需要两个参数,刚好对应正常类中取值:对象名.属性名。

对应的关系为:
useBean -> 创建(new)一个对象 。
setProperty -> 给对象中的属性变量赋值。(对象.属性=value)
getProperty -> 获取对象中属性变量的值。(对象.属性)

对照示例:(已经创建好了一个叫Person的类并标准化,其中有name、age、money三个成员变量)

创建对象:

1
2
3
4
5
6
7
//java
Person user = new Person();
Person root = new Person();

//jsp
<jsp:useBean id="user" class="com.tothefor.Entity.Person" />
<jsp:useBean id="root" class="com.tothefor.Entity.Person" />

赋值:

1
2
3
4
5
6
7
//java
user.setName("loong");
root.setAge(13);

//jsp
<jsp:setProperty name="user" property="name" value="loong" />
<jsp:setProperty name="root" property="age" value="13" />

取值:

1
2
3
4
5
6
7
//java
String s1 = user.getName();
int ta = root.getAge();

//jsp
<jsp:getProperty name="user" property="name"/>
<jsp:getProperty name="root" property="age"/>

1.3 forward(转发)

jsp:forward 动作把请求转到另外的页面。

<jsp:forward page=”相对URL地址” />

1
<jsp:forward page="C.jsp"></jsp:forward>

注意:有两种写法,一种是没有结束标签,一种是有结束标签的。

1.4 param

在转发动作内部使用,用来做参数传递的。有参数传递时,就必须要用forward有结束标签的方式。

<jsp:param name=”” value=”” />

1
2
3
4
5
6
7
<body>

<jsp:forward page="C.jsp">
<jsp:param name="lee" value="loong"/>
</jsp:forward>

</body>

如果需要在C.jsp中进行获取参数,如下:

1
2
3
4
5
6
7
<body>
<h1>C页面内容</h1>
<%
String na = request.getParameter("lee");
%>
<%=na%>
</body>

本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/4014028011.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!