jsp嵌套html代码,然后直接以html方式输出代码?
<%if (Math.random() < 0.5) {
out.println("Have a <B>nice</B> day!");
} else { out.println("Have a <B>lousy</B> day!"); }%>
改写为,jsp嵌套html代码,即直接以html方式输出的代码 展开
2016-02-13 · 百度知道合伙人官方认证企业
直接以html方式输出代码,需要用servlet的out.print输出。
out对象的类型是JspWriter。JspWriter继承了java.io.Writer类。
1)print方法是子类JspWriter,write是Writer类中定义的方法;
2)重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据;
3)JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。例如:
下面的test.jsp文件:
<% String str=null;
out.print(str);
//out.write(str);
%>
##################################
示例一、
<% out.print("<font color='red'>你好,world2!</font>"); %>
<% out.write("<font color='green'>你好,world3!</font>"); %>
浏览器输出结果:
<html>
<body>
Have a <B><%=Math.random() < 0.5 ? "nice" : "lousy"%> day!
</body>
</html>
不过说实话,不推荐这样写,想学标签的话,还是学学楼上哥们的
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Math</title>
</head>
<body>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<c:set var="Math" value="${Math.random()<0.5}"/>
<c:if test="${not Math}">
Have a <B>nice</B> day!
</c:if>
<c:if test="${Math}">
Have a <B>lousy</B> day!
</c:if>
</body>
</html>