how2j.cn

步骤 1 : 页面元素   
步骤 2 : <%=%>和 <%out.println()%>   
步骤 3 : for循环   

步骤 1 :

页面元素

jsp由这些页面元素组成:
1. 静态内容
就是html,css,javascript等内容
2. 指令
以<%@开始 %> 结尾,比如<%@page import="java.util.*"%>
3. 表达式 <%=%>
用于输出一段html
4. Scriptlet
在<%%> 之间,可以写任何java 代码
5. 声明
在<%!%> 之间可以声明字段或者方法。但是不建议这么做。
6. 动作
<jsp:include page="Filename" > 在jsp页面中包含另一个页面。在包含的章节有详细的讲解
7. 注释 <%-- -- %>
不同于 html的注释 <!-- --> 通过jsp的注释,浏览器也看不到相应的代码,相当于在servlet中注释掉了
页面元素
步骤 2 :

<%=%>和 <%out.println()%>


<%="hello jsp"%>

就相当于

<%out.println("hello jsp");%>


out是jsp的隐式对象,可以直接使用。一共有9种隐式对象,请参考 隐式对象 章节

注: <%=%> 不需要分号结尾,<%%> 需要以分号结尾,和java代码一样
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <%="hello jsp"%> <br> <% out.println("hello jsp");%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8" import="java.util.*"%>

<%="hello jsp"%>
<br>
<% out.println("hello jsp");%>

步骤 3 :

for循环

结合for循环在jsp里输出html是常见的做法。 只是第一次这么写会稍显别扭

下面是一段实例,以供参考
for循环
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*"%> <% List<String> words = new ArrayList<String>(); words.add("today"); words.add("is"); words.add("a"); words.add("great"); words.add("day"); %> <table width="200px" align="center" border="1" cellspacing="0"> <%for (String word : words) {%> <tr> <td><%=word%></td> </tr> <%}%> </table>


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2018-03-28 站长,您那个80端口的Tomcat有毒啊
MilkPD
关于 J2EE-JSP-页面元素 的提问



用80端口的那个时好时坏,Servlet总是打不开,jsp也打不开,换成8080端口的就可以,我检查了N遍代码确认无误后,试了好几个项目都是这样。
//这是HelloServlet的代码
import java.io.IOException;
import java.util.Date;
 

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class HelloServlet extends HttpServlet{
	
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("看这儿,HelloServlet被启动了");
	}
 
    public void doGet(HttpServletRequest request, HttpServletResponse response){
    	
        try {
            response.getWriter().println("<h1>Hello Servlet!</h1>");
            response.getWriter().println(new Date().toLocaleString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
     
}

//这是Tomcat上的一些信息
信息: Starting Servlet Engine: Apache Tomcat/7.0.64
看这儿,HelloServlet被启动了
三月 28, 2018 9:17:13 上午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
三月 28, 2018 9:17:13 上午 org.apache.catalina.startup.Catalina start
信息: Server startup in 436 ms

							


1 个答案

马鹿 答案时间:2018-05-10
有可能是因为80端口被占用




答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-01-27 为什么传参后还是2016,而不是2017?
insanity2017
关于 J2EE-JSP-页面元素 的提问



你好啊 JSP hello jsp 2018-1-27 9:46:45 copyright@2016 copyright@2016
hello.jsp
<%@page contentType="text/html;charset=UTF-8"
  pageEncoding="UTF-8" import="java.util.*"%>
  你好啊   JSP
  <br>
  <%="hello jsp" %>
  <br>
  <%out.println("hello jsp"); %>  <%-- 和<%="hello jsp" %>效果一样 --%>
  <br>
  
  <%=new Date().toLocaleString() %>
  
<%@include file="footer.jsp" %>

<jsp:include page="footer.jsp">
	<jsp:param value="2017" name="year"/>
</jsp:include





footer.jsp

<hr>
<p style=“text-align:center”>
copyright@2016<%request.getParameter("year");%>
</p>

							






答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2017-10-25 求助
2017-04-06 下面这两种 结果相同吗?
2016-10-23 坑了。。




提问之前请登陆
关于 J2EE-JSP-页面元素 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 620943819
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: http://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图