jsp里面的<% %>是什么
时间: 2023-08-15 14:07:57 浏览: 29
在JSP(Java Server Pages)中,<% %>是用来标识嵌入式Java代码的标记。在这个标记之间的所有内容都将被视为Java代码,并将在服务器端进行编译和执行。这种方式允许JSP开发人员将Java代码与HTML和其他Web页面元素混合在一起,从而更方便地创建动态Web应用程序。但是,JSP中的<% %>标记已经过时,现在推荐使用EL表达式或JSTL标签库来替代它。
相关问题
详细解读一下这段代码:<%@ page language="java" import="java.text.*,java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>使用application内置对象--checkMessage.jsp</title> </head> <body bgcolor="#abcdef"> <%!Vector<String> v = new Vector<String>(); int i = 0;%> <% String datetime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(Calendar.getInstance().getTime()); //获取系统时间 %> <% request.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); String title = request.getParameter("title"); String message = request.getParameter("message"); %> <% if (name == null || "".equals(name.trim())) { //trim()主要解决里面只有空格的问题 name = " 网友" + (int) (Math.random() * 100000 + 10000); } if (title == null || "".equals(title.trim())) { title = " 无"; } if (message == null || "".equals(message.trim())) { message = " 无"; } %> <% i++; String str = "第" + "<span class=span0>" + i + "</span> " + "楼 " + ".<span class=span1>留言人: </span>" + name + ".<span class=span2>标题: </span>" + title + ".<span class=span3>内容: </span><br> " + message + ".<span class=span4>时间: </span> " + datetime + ".<hr>"; v.add(str); application.setAttribute("message", v); %> 留言成功. <a href="inputMessage.jsp">返回留言板</a> </body> </html>
这是一个 JSP 页面,其中:
1. 第一行指定了页面使用的编程语言是 Java,并且导入了 java.text.* 和 java.util.* 包。
2. 第二行指定了页面的 Content-Type 为 text/html,字符编码为 UTF-8。
3. 页面中的 HTML 代码定义了页面的基本结构,包括 head 和 body 部分。
4. 在 <%! %> 中定义了一个 Vector 对象 v 和一个整数变量 i,用于存储留言信息和计数。
5. 在 <% %> 中获取了系统时间和用户提交的留言信息(姓名、标题和内容),并对用户提交的信息进行了检查和处理,比如如果用户没有输入姓名,则随机生成一个姓名。
6. 在 <% %> 中构造了一个字符串 str,表示一条留言,并将其添加到 Vector 对象 v 中。
7. 最后在页面中输出一条“留言成功”的消息,并提供了一个链接,用于返回留言板。
需要注意的是,这种在 JSP 页面中嵌入 Java 代码的方式已经不太常用了,现在一般使用 MVC 架构,将业务逻辑代码放到 Controller 层中处理,页面只负责展示数据。
在登陆成功页面加入第二个超链接,链接地址为新创建的一个jsp文件。在该页面内嵌入一段java代码(脚本的形式<%……%>),这段代码必须有如下功能。 功能:实现简单的加减乘除计算器。(也可以自拟一个功能,但必须在程序里面注释所自拟的功能)
好的,我来给你介绍一下如何完成这个任务。
首先,在登陆成功页面的HTML代码中添加第二个超链接,代码如下:
```html
<a href="calculator.jsp">计算器</a>
```
接下来,创建一个名为`calculator.jsp`的JSP文件,并在其中嵌入一段Java代码,实现简单的加减乘除计算器功能。代码如下:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>计算器</title>
</head>
<body>
<h1>计算器</h1>
<form method="post">
<input type="text" name="num1">
<select name="operator">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" name="num2">
<input type="submit" value="计算">
</form>
<%
//获取用户提交的表单数据
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
String operator = request.getParameter("operator");
if(num1 != null && num2 != null && operator != null) {
double result = 0;
double n1 = Double.parseDouble(num1);
double n2 = Double.parseDouble(num2);
switch(operator) {
case "+":
result = n1 + n2;
break;
case "-":
result = n1 - n2;
break;
case "*":
result = n1 * n2;
break;
case "/":
if(n2 != 0) {
result = n1 / n2;
} else {
out.println("<p style='color:red;'>除数不能为0!</p>");
}
break;
}
out.println("<p>计算结果为:" + result + "</p>");
}
%>
</body>
</html>
```
这段代码实现了一个简单的计算器功能,用户可以输入两个数字和一个运算符,然后提交表单进行计算,最后显示结果。
在这段代码中,我们使用了JSP的内置对象`request`和`out`,分别用于获取用户提交的表单数据和向页面输出内容。我们还使用了Java的基本语法,如变量声明、类型转换、条件语句和循环语句,来实现计算器功能。
你也可以自己发挥创造力,实现自己想要的功能。但要注意,任何代码都必须符合编程规范和良好的编码习惯,注释清晰明了,且结构清晰易懂。