jsp 指令 标准标签库 动作 的使用

来源:互联网 发布:免费发贴软件 编辑:程序博客网 时间:2024/05/14 21:37
/********************************************************************************/>jsp指令和动作以及标准标签库的使用/********************************************************************************/0.<%@include file="ok.jsp" %>>ok.jsp中定义的成员变量和成员方法///////////////////////////////////////////////////   <%!public PageContext pgct=null; %>//  //   <%pgct=pageContext; %>//  <%!//  public void demonstrate_include_directive(){//  try{//  pgct.getOut().print("只有一个java文件吗?");//  }catch(Exception e){//  e.printStackTrace();//  }//  }//  %>//  <%//  demonstrate_include_directive();//  %>//////////////////////////////////////////////////////////////////////////////////////////////////////>jsp_action.jsp中的代码//<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>//<%@include file="ok.jsp" %> -->只使用了include指令//////////////////////////////////////////////////////////////////////////////////////////////////////>经过编译后// root:\apache-tomcat-6.0.30\apache-tomcat-6.0.30\apache-tomcat-6.0.30//      \work\Catalina\localhost\jsp//      \org\apache\jsp//      \jsp_005faction//jsp_005faction_jsp.java-->只有一个类文件和一个java文件//这说明是动态包含include指令将会把自己和另外一个jsp//进行一个合并然后再翻译成一个类来使用//////////////////////////////////////////////////>两个jsp合并后的代码/***********************************************************************************/public final class jsp_005faction_jsp extends org.apache.jasper.runtime.HttpJspBase    implements org.apache.jasper.runtime.JspSourceDependent {public PageContext pgct=null; //在ok.jsp中定义的成员变量          public void demonstrate_include_directive(){//在ok.jsp中定义的成员方法  try{  pgct.getOut().print("只有一个java文件吗?");  }catch(Exception e){  e.printStackTrace();  }  }      private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();  private static java.util.List _jspx_dependants;  static {    _jspx_dependants = new java.util.ArrayList(1);    _jspx_dependants.add("/jsp_action/ok.jsp");  }  private javax.el.ExpressionFactory _el_expressionfactory;  private org.apache.AnnotationProcessor _jsp_annotationprocessor;  public Object getDependants() {    return _jspx_dependants;  }  public void _jspInit() {    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().     getServletContext()).getExpressionFactory();    _jsp_annotationprocessor = (org.apache.AnnotationProcessor) getServletConfig().    getServletContext().getAttribute(org.apache.AnnotationProcessor.class.getName());  }  public void _jspDestroy() {  }  public void _jspService(HttpServletRequest request, HttpServletResponse response)        throws java.io.IOException, ServletException {    PageContext pageContext = null;    HttpSession session = null;    ServletContext application = null;    ServletConfig config = null;    JspWriter out = null;    Object page = this;    JspWriter _jspx_out = null;    PageContext _jspx_page_context = null;    try {      response.setContentType("text/html;charset=UTF-8");      pageContext = _jspxFactory.getPageContext(this, request, response,      null, true, 8192, true);      _jspx_page_context = pageContext;      application = pageContext.getServletContext();      config = pageContext.getServletConfig();      session = pageContext.getSession();      out = pageContext.getOut();      _jspx_out = out;      out.write('\r');      out.write('\n');      out.write('\r');      out.write('\n');String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";      out.write("\r\n");      out.write("\r\n");      out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");      out.write("<html>\r\n");      out.write("  <head>\r\n");      out.write("    <base href=\"");      out.print(basePath);      out.write("\">\r\n");      out.write("    \r\n");      out.write("    <title>ok.jsp</title>\r\n");      out.write("    \r\n");      out.write("\t<meta http-equiv=\"pragma\" content=\"no-cache\">\r\n");      out.write("\t<meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n");      out.write("\t<meta http-equiv=\"expires\" content=\"0\">    \r\n");      out.write("\t<meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">\r\n");      out.write("\t<meta http-equiv=\"description\" content=\"This is my page\">\r\n");      out.write("\r\n");      out.write("  </head>\r\n");      out.write("  \r\n");      out.write("  <body>\r\n");      out.write("  \r\n");      out.write("  /////////////////////////////////////////////////\r\n");      out.write("  ");      out.write("\r\n");      out.write("  \r\n");      out.write("  ");      /****************************************/      //动态追加的代码      //pgct=pageContext;       //out.write("\r\n");      //out.write("  \t");      //out.write("\r\n");      //out.write("  \t");      //demonstrate_include_directive();      /****************************************/      out.write("\r\n");      out.write("  /////////////////////////////////////////////////\r\n");      out.write("  \t</body>\r\n");      out.write("</html>\r\n");      out.write("\r\n");      out.write("\r\n");      out.write("\r\n");      out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n");      out.write("<html>\r\n");      out.write("  <head>\r\n");      out.write("    <base href=\"\">\r\n");      out.write("    \r\n");      out.write("    <title>jsp_action.jsp</title>\r\n");      out.write("    \r\n");      out.write("\t<meta http-equiv=\"pragma\" content=\"no-cache\">\r\n");      out.write("\t<meta http-equiv=\"cache-control\" content=\"no-cache\">\r\n");      out.write("\t<meta http-equiv=\"expires\" content=\"0\">    \r\n");      out.write("\t<meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">\r\n");      out.write("\t<meta http-equiv=\"description\" content=\"This is my page\">\r\n");      out.write("\r\n");      out.write("  </head>\r\n");      out.write(" \r\n");      out.write("  <body>\r\n");      out.write("  </body>\r\n");      out.write("  \r\n");      out.write("  ");      out.write("</html>\r\n");    } catch (Throwable t) {      if (!(t instanceof SkipPageException)){        out = _jspx_out;        if (out != null && out.getBufferSize() != 0)          try { out.clearBuffer(); } catch (java.io.IOException e) {}        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);      }    } finally {      _jspxFactory.releasePageContext(_jspx_page_context);    }  }}/***********************************************************************************/}/***********************************************************************************/1.<%page >指令//  <%@ page language="java" contentType="text/html;charset=Shift_JIS"%> //  <%@ page import="java.util.*, java.text.*" %> //  <%@ page import="java.sql.Date" %>// contentType="text/html;charset=Shift_JIS"里面可以设置字符编码但是如果// 在pageEncoding中制定了那么在进行指定是无效的// 如何统一制定error页面// 当我在jsp_action.jsp使用int a=2/0;的时候就会跳转到ok.jsp不知道怎么的我自己抛出个异常他就不跳转了// 还有那个错误页面要指定为isErrorPage="true"没指定也是可以的//  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" errorPage="ok.jsp"%>//isELIgnored这个属性用于页面是否忽略el表达式语言的使用2.taglib就是用于导入jsp标签的指令/***********************************************************************************/3.jsp标准标签库/***********************************************************************************///<s:catch var="ArithmeticException">//<%int a =2/0;%>//</s:catch> 相当于在try{}catch(){}块中执行>jsp标准标签有几个类别core-->一些比较常用的标签fmt-->用于格式字符窜如日期和数字等的标签functions-->用于调用字符窜操作如截取字符窜,数组长短等的标签sql-->用于数据库操作方面的标签xml-->用于xml操作方面的标签/***********************************************************************************/4.jsp标准动作/***********************************************************************************/>概要JSP一共有8个标准动作(element、forward、getProperty、include、plugin、setProperty、text和useBean)和5个只能出现在别的动作元素体内的子动作(attribute、body、fallback、param和params)。 //静态包含就是讲另外一个jsp页面执行后将这个jsp执行后的结果的html代码复制到本jsp中//><jsp:include page="a.jsp">///////////////////////////////////////////////////////////////这几个元素用于构造xml//<jsp:element name="employee">// <jsp:attribute name="name">张三</jsp:attribute>// <jsp:body>张三是销售部经理</jsp:body>//</jsp:element>//>>生成的xml//<employee name="张三">张三是销售部经理</employee>//////////////////////////////////////////////////////////////***********************************************************************************/

原创粉丝点击