Java for Web学习笔记(十四):JSP(4)JSP Tag

从jsp:include中,我们应该可以猜测到jsp tag是加入特定的java代码。

formard

<jsp:forwardpage="index.jsp" />将在代码中加入:

_jspx_page_context.forward("index.jsp");

forward()不是重定向(重定向会给出302,指向一个新的URL,浏览器向新的URL发送请求),将请求转置另一个jsp重新处理,而不会再转回来。虽然从java代码上根据tag的插入位置,在此之前的代码均已执行,包括charset设置,可能还包括一些HTML语句的输出,但是forward()之后,将重新设置和重新输出,原jsp的设置,包括charset,已经输出的内容,将无效。

useBean、getProperty、setProperty

我们定义一个Bean:UserBean,有两个属性name和passwd。

package cn.wei.flowingflying.chapter04;

public class UserBean {
	private String name;
	private String passwd;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPasswd() {
		return passwd;
	}
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}	
}

在某个HTML中,给出下面的代码,按button后发起一个POST的请求给register.jsp

<form action="register.jsp" method="post">
        <table>
            <tr><td>姓名:<input type="text" name="name"></td></tr>
            <tr><td>密码:<input type="password" name="passwd"></td></tr>
            <tr><td><input type="submit"></td></tr>
        </table>
</form>

register.jsp如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<jsp:useBean id="user" class="cn.wei.flowingflying.chapter04.UserBean"/>
<jsp:setProperty property="*" name="user"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Register</title>
</head>
<body>
	<h2>用户名:<%= user.getName() %></h2>
	<h2>密码:<%= user.getPasswd() %></h2>
</body>
</html>

例子中的L2和L3也可以写为:

<jsp:useBean id="user" class="cn.wei.flowingflying.chapter04.UserBean"/>
<jsp:setProperty property="name" name="user" param="name"/>
<jsp:setProperty property="passwd" name="user" param="passwd"/>

当中property中是对应Bean中的属性,而param是对应POST的参数。

plugin

用于价值java applet。纯HTML代码页可以价值java Applet,这个没有太大的意义。例子如下:

<jsp:plugin type="applet" code="MyApplet.class" jreversion="1.8">
  <jsp:params>
    <jsp:param name="appletParam1" value="paramValue1"/>
  </jsp:params>
  <jsp:fallback>
    The browser you are using does not support Java Applets. You might consider switching browsers.
  </jsp:fallback>
</jsp:plugin>


相关链接: 我的Professional Java for Web Applications相关文章

你可能感兴趣的:(Java for Web学习笔记(十四):JSP(4)JSP Tag)