Action(动作指令):在运行期间的指令
常见的四种:
常见的四种:
1.jsp:UserBean
jsp:setProperty
jsp:getProperty
2.jsp:include[以后常用,必须掌握] 请查看include/index.jsp
3.jsp:forward[企业常考和sendRedirect的区别] 请查看forward/index.jsp
jsp:param
4.jsp:plugin[用于嵌入applet程序,一般不用了]
a.jsp:include基本用法:
实验一:
//include/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Action</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
您需要进行的运算:
<form id="form1" name="form1" method="post" action="include/compute.jsp">
<p>
<input name="compute" type="radio" id="radio" value="division" checked="checked" />
除法
<input type="radio" name="compute" id="radio2" value="multiply" />
乘法</p>
<p>请输入您的数:被除数(乘数):
<input type="text" name="value1" id="value1" />
除数(乘数):
<input type="text" name="value2" id="value2" />
</p>
<p>
<input type="submit" name="button" id="button" value="提交" />
</p>
</form>
</body>
</html>
//include/compute.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit\ional//EN">
<html>
<head>
<title>结果页面</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String oper = request.getParameter("compute");
if(oper!=null&&oper.equals("division")){
String v1 = request.getParameter("value1");
String v2 = request.getParameter("value2");%>
<jsp:include page="division.jsp" flush="true">
<jsp:param value="<%=v1 %>" name="v1"/>
<jsp:param value="<%=v2 %>" name="v2"/>
</jsp:include>
<%
}else{%>
<%@ include file="mutiply.jsp" %>
<%}%>
</body>
</html>
//include/division.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String v1 = request.getParameter("v1");
String v2 = request.getParameter("v2");
if(v1!=null&&v2!=null){
double d1 = Double.parseDouble(v1);
double d2 = Double.parseDouble(v2);
if(d2==0.0){
out.println("除数不能为0");
}else{
double result = d1/d2;
out.println("除法结果:result="+result);
}
}else{
out.println("请输入数字!");
}
%>
//include/multiply.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String v1 = request.getParameter("value1");
String v2 = request.getParameter("value2");
if(v1!=null&&v2!=null){
double d1 = Double.parseDouble(v1);
double d2 = Double.parseDouble(v2);
double result = d1*d2;
out.println("乘积:result="+result);
}else{
out.println("请输入数字!");
}
%>
总结:如果不需要传入参数,直接使用Direction的include指令比较好,这样效率比较高;但需要传入参数时,必须使用Action指令