JSP笔记――4.七个动作指令

上一节中的编译指令是给Servelt引擎看的,而这一节中提到的动作指令,则可以理解为java代码的一种简化写法。这些指令的目的是,用类似于html标签元素的代码,来代替jsp中的java脚本,使得整个页面简单明了。当然,在转译之后,这些动作指令会变成标准的java代码,保存在对应的Servlet中。JSP主要的动作指令有7个。


forward:用于将页面响应转发到另外的html,jsp或者servlet。跳转的时候可以传递参数,在另一个页面用jsp输出语法加request.getParameter("名字")来获取,得到的是String。执行forward指令时,用户的请求地址并没有改变,请求数据请求属性也不会丢失,因为实际上,forward并没有重新定向,只是采用了一个新的界面来相应,依然是一次请求。语法如下:

<jsp:forward page="forward-result-page.jsp">
    <jsp:param name="age" value="29"/>
</jsp:forward>


param:这个功能不能单独使用,必须被包夹在include、plugin或者forward中。


include:将某个页面的body体里面的内容包含进来,正如上一节所说,不会包含编译指令等内容。动态导入可以增加额外的参数,但然并卵,这个参数只能在被导入的页面才能被读取。forward用目标页代替原有页面同时保留request信息,而include把目标也插入原有页面。


plugin:下载服务器端的javaBean到客户端,基本用不上。


useBean、setProperty、getProperty:这三个指令用于操作一个java实例。如果多个页面多次重复地使用某段代码,我们可以把这段代码定义为java类的方法,然后多个jsp页面调用该方法即可。useBean能够在JSP页面初始化一个java实例。代码如下,其中id属性就是实例的名字,比如说String a=new String,那么a就是实例名。使用get能够输出这个属性值

<jsp:useBean id="aaa" class="com.cm.classname" scope="request"/>
<jsp:setBean name="aaa" property="age" value="20"/>
<jsp:getBean name="aaa" property="age" />

当然,首先,我们得有事先写好的java类。类中的属性要有set、get方法。

实际上这两个指令是去调用了java类中的set、get方法。因此set、get方法最好要自动生成,以保证名字能够匹配。回想韩顺平所讲的,属性名可以不一致,但是操作属性的方法名一定要匹配上。此外这个javaBean实例还可以放到一个scope中,供其他jsp页面使用。

总结:这些指令就如同一些简便代码,只要我们在jsp页面中敲入他们,jsp容器就会自动的在对应的servlet中添加要实现的功能的代码。并且它们还具有html标签元素的特征,维护起来比较容易,美工也容易看懂(为什么感觉美工弱弱的。。。)。

本文出自 “指尖轻飞” 博客,谢绝转载!

你可能感兴趣的:(jsp)