上机实战七:EL和JSTL的使用

[上机目的与要求] 理解并掌握EL表达式、理解并掌握常用的JSTL标签。

[上机重点与难点] EL和JSTL的使用。

[上 机 方 法] 由指导老师演示和指导,学生亲自上机操作。

[上 机 内 容] 使用EL和JSTL简化页面开发。

建议学时:2

一、使用EL表达式简化javaBean的开发

编写一个用户登录的JavaBean,用户信息包括用户名和密码。

编写user.jsp,使用setProperty设置用户名为125jz,密码为123。

使用EL获取用户名和密码并显示。

二、使用EL实现问卷调查

用户输入昵称、所在城市,并且以多选的方式让用户选择所使用的开发语言,然后使用EL表达式显示在页面上。

上机实战七:EL和JSTL的使用

三、EL函数的定义与使用

定义和使用EL函数的3个步骤:

(1)编写一个Java类,在该类中编写公用的静态方法,用于实现自定义EL函数的具体功能。

(2)编写标签库描述文件,对函数进行声明。该文件的扩展名为.tld,被保存到Web应用的WEB-INF文件夹下。

(3)在JSP页面中引用标签库,并调用定义的EL函数,实现相应的功能。

定义EL函数处理字符串中的回车换行符和空格符。

(1)编写一个Java类,名称为StringDeal,将其保存在com 包中,在该类中添加一个公用的静态的方法shiftEnter(),在该方法中替换输入字符串中的回车换行符为<br>,空格符为&nbsp;,最后返回新替换后的字符串。

StringDeal类代码如下:

package com;
public class StringDeal {
  public static String shiftEnter(String str) {  
  String newStr = str.replaceAll("\r\n", "<br>"); // 替换回车换行符
  newStr = newStr.replaceAll("  ", "&nbsp;");  // 替换空格符
  return newStr;
  }
}

2)编写标签库描述文件,名称为stringDeal.tld,并将其保存到WEB-INF文件夹下,关键代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 web-jsptaglibrary_2_0.xsd"
 version="2.0">
 <tlib-version>1.0</tlib-version>
 <uri>/stringDeal</uri>
 <function>
  <name>shiftEnter</name>
  <function-class>com.StringDeal</function-class>
<function-signature>java.lang.String shiftEnter(java.lang.String)
  </function-signature>
 </function>
</taglib>

<uri>标记:用于指定tld文件的映射路径。在应用EL函数时,需要使用该标记指定的内容。

<name>标记:用于指定EL函数所对应方法的方法名,通常与Java文件中的方法名相同。

<function-class>标记:用于指定EL函数所对应的Java文件,需要包括包名和类名。

<function-signature>标记:用于指定EL函数所对应的静态方法,这里包括返回值的类型和入口参数的类型。在指定这些类型时,需要使用完整的类型名,例如,在上面的代码中,不能指定该标记的内容为“String shiftEnter(String)”。

3)编写index.jsp文件,添加一个表单及表单元素:

<form name="form1" method="post" action="deal.jsp">
<textarea name="content" cols="30" rows="5"></textarea>
<input type="submit" name="Button" value="提交" >
</form>

4)编写表单的处理页deal.jsp文件,应用EL函数,对获取到的内容信息进行处理。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="/stringDeal" prefix="jgy"%>
<%request.setCharacterEncoding("UTF-8"); %>
<html><head><meta charset="utf-8">
<title>显示结果</title>
</head><body>
内容为:<br>
${jgy:shiftEnter(param.content)}
</body>
</html>

说明:在引用标签库时,指定的uri属性与标签库描述文件中的<uri>标记的值是相对应的。

运行结果:

上机实战七:EL和JSTL的使用

四、JSTL 表达式标签的使用

编写jstl.jsp文件,使用set 标签给session范围内的变量username赋值为张三;

使用set 标签给application范围内的变量count赋值为0;

使用out 标签在页面上显示变量username和count的值;

使用remove 标签删除这两个变量。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2899.html

(17)
江山如画的头像江山如画管理团队
上一篇 2018年12月2日 下午8:31
下一篇 2018年12月10日 下午3:25

99%的人还看了以下文章

  • js中var a=b=1和var a=1,b=1的区别

    js中一次性定义多个变量的时候,可以用:var a=1,b=1这种中间用逗号隔开的方式,但有些时候为了省事,直接定义var a=b=1。 那这两种写法方式最后效果是一样的吗?有没有什么区别呢?请大家看下面的范例: 1、用var a=b=1的方式 由上图可以明显看出来,变量b的作用域已经是全局的了,因为在函数外可以调用到(可以正常的输出变量)。 2、用var …

    2022年3月19日
    3.2K0
  • MXNet安装与常见问题解决:Encountered error while trying to install package

    本文主要讲了什么是MXNet;如何在CPU、GPU上安装MXNet;以及对MXNet安装过程中出现的常见问题给出了具体的解决方法。

    2023年1月14日 编程开发
    9.2K0
  • Myeclipse设置JSP视图和代码显示在同一个窗口

    Myeclipse开发时,想同时查看页面及代码视图,如上图,而默认只能看到代码。 Myeclipse设置JSP页面和代码显示在同一个窗口的方法有两种。 一、在JSP页面上右击-open with-other… 在弹出的Editor selection窗口中选择web page editor,就可以了。 二、选择 window-preferences,如下图,…

    2018年12月17日 编程开发
    4.4K0
  • 10秒倒计时、考试结束倒计时功能实现代码-JS

    注册成功或登录后网页会有倒计时,如5秒后跳转到哪个页面的功能。 在做一些在线测试,网上考试系统时,会用到倒计时功能。 如网上考试系统里,会有时间提示离考试结束还有多长时间,临近考试结束剩10分钟,还可以弹窗提示考生。 JavaScript实现倒计时功能代码 <!DOCTYPE html> <html> <head> &lt…

    2020年11月1日
    3.8K0
  • python 字典使用实例:创建通信录并完成修改、查找操作

    练习目的:巩固python 字典的创建,合并,修改及使用。 学了python字典后,同学们想创建一个自己的通信录,小明是这么做的: 先根据三位舍友的联系方式创建一个字典dicTXL 然后将隔壁舍长已创建好的字典dicOther合并进自己的通信录 合并之后,小明又打算给通信录增加一列“微信号”,为此他询问了相关同学的微信号并存储在了字典dicWX中,然后合并进…

    2020年1月22日
    15.4K0
  • 上机实战八:Java web编程综合案例

    建议学时:6 一、开发基于MVC模式的信息管理系统,如新闻发布系统,要求用户可查看、查询。管理员进入后台可对发布新闻(实现相应的增删查改)。 后台添加文章,建议使用UEditor! UEditor 是开源、免费的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果。 UEditor兼容性很好,是网站站长开发的首选,官网地址:UEditor官网 包…

    2018年12月11日
    4.6K0

发表回复

登录后才能评论