25@JSP_day12
1、自定义标签
step1 写一个java类,继承SimpleTagSupport类
step2 override doTag()方法,在该方法中,编写处理逻辑。
step3 在.tld文件当中,描述标签。.tld文件必须放在WEB-INF\下或者放在jar文件中的META-INF下。
<body-content>empty</body-content>:
该标签没有标签体。
<body-content>scriptless</body-content>:
该标签可以有标签体,但是,标签体的内容不允许出现 <% %>, <%= %>, <%! %>
<body-content>JSP</body-content>:
该标签可以有标签体,标签体的内容可以是<% %>, <%= %>, <%! %>。JSP只有复杂标签技术才支持,简单标签技术只支持 empty,scriptless。
练习:
写一个DateTag, 输出当前系统日期,比如输出 2012-06-05
2、el函数
step1 使用taglib指令导入函数
step2 使用el函数
3、自定义el函数
step1 写一个java类,提供public static方法。
step2 在public static方法里,实现处理逻辑。
step3 在.tld文件当中描述函数。
${fn1:concat(str1,str2)}
练习:
写一个el函数 toUpperCase,将字符串变成大写。
${fn1:toUpperCase(str)}
4、如果使用的javaee的版本是5.0以上,需要注意如下几点:
1),servlet2.5规范当中,要求容器默认情况下,忽略el表达式。使用<%@page isELIgnored="false"%> ,让容器不要忽略el表达式。
2)如果要使用jstl,应该将jstl-1.2.jar 拷贝到WEB-INF\lib下。
5、mvc
1)什么是mvc? (model,view,controller)
是一种软件架构的思想,将一个软件的组成部分划分成三种不同类型的模块:
模型: 封装业务逻辑。
封装指的是,首先要实现业务逻辑,其次,应该为模型提供相应的接口(也就是说,通过接口来调用模型提供的功能,这样,当模型的实现发生了改变,只有接口不变,不会影响到调用者),最后,模型的输出应该与显示无关。
业务逻辑指的是,首先是业务逻辑本身(即按照一定的业务规则对数据进行加工的过程),另外,还包括为了保证业务逻辑能够正常执行的基础服务(比如事务、安全、日志等等)。
视图: 实现表示逻辑(将模型提供的数据以合适的方式展现给用户;另外,视图还要提供相应的操作界面,方便用户向系统发送请求)。
控制器: 用来协调视图和模型。当用户通过视图向系统发送请求时,请求先交给控制器,控制器依据请求调用相应的模型来处理;另外,模型处理的结果先发送给控制器,控制器选择合适的视图将处理结果展现给用户。
2)在web应用当中,如何使用mvc(使用java平台)?
a,模型
使用java类来实现(或者是ejb,spring javabean等来实现,可以利用应用服务器提供的一些基础服务)。
b,视图
使用jsp(或者是模板技术,JSF等等)
c,控制器
使用servlet(或者是filter)
使用mvc来开发bmi应用
step1 实现模型
step2 测试模型
step3 实现视图
step4 实现控制器
step5 部署,运行
练习:
给bmi_form.jsp添加表单验证,要求身高
体重不能为空并且必须是数字。
mvc的优点和缺点