jsp中的使用笔记

jsp中的使用笔记

一.JSP的编译器指引与指令组件

  1.编译器指示 <%@ 编译器指示 %>:告诉引擎如何处理其它的JSP网页

两个主要的指引是 page与include

     1)page:可以让你指定到哪里可以找到支持的Java类别这类的事

<%@ page import="java.util.Date" %>

             2)include:让你将你的内容分成几个可管理的组件,就像那些有表头或脚注的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页:

         <%@ include file="_SessionCheck.jsp" %>

 2. 声明 <%! 声明 %>:定义网页层的变量或函数

            <%! int i=0; %>

 

         <%!
//树遍历
private void tree(List<Article> articles, Connection conn, int id, int grade) {
	String sql = "select * from article where pid = " + id;
	Statement stmt = DB.createStmt(conn);
	ResultSet rs = DB.executeQuery(stmt, sql); 
	try {
		while(rs.next()) {
			Article a = new Article();
			a.initFromRs(rs);
			a.setGrade(grade);
			articles.add(a);
			if(!a.isLeaf()) {
				tree(articles, conn, a.getId(), grade + 1);
			}
		}
	} catch (SQLException e) {
		e.printStackTrace();
	} finally {
		DB.close(rs);
		DB.close(stmt);
	}
}
%>
 

     3. 表达式 <%= 表达式 %>:在网页中输出表达式

        <%= i %>    

     4. 程序代码段/小型指令 <% 程序代码片段 %> 

     5. 注释 <%-- 注释 --%>

二、从request对象中取得url中的信息

request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath()+request.getServletPath()

+request.getQueryString() == null ? "" : ("?" +request.getQueryString())

其中:schema:传输的协议

        serverName: 服务器名/ip地址

serverPort:服务端口

ContextPath: 项目名

    ServletPath: jsp/Servlet路径

     QueryString : 查询字段 url?后的

三、jsp验证用户是否已登录

 

_SessionCheck.jsp

<%
String adminLogined = (String)session.getAttribute("adminLogined");
if(adminLogined == null || !adminLogined.trim().equals("true")) {
	response.sendRedirect("login.jsp");
	return;
} 
 %> 

四、html中的单双引号会被js过滤

1.处理方法1

在html中&#34;表示的是双引号,&#39表示的是单引号,所以jsp中的处理方式是out.print(detail.getMaterialSizeCode().replaceAll("\"","&#34;").replaceAll("'","&#39;"));


2.处理方法2


如果使用的是jstl,则处理的方式是

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>


 value="${fn:escapeXml(fn:trim(cost.styledescription)) }"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值