JSP在页面用<%=调用声明函数时出现HTTP 500错误

JSP在页面用<%=调用声明函数时出现HTTP 500错误


错误描述:

Eclipse在编写JSP页面时,在其中采用<%!%>方式声明了函数,然后在页面中用<%=函数名%>方式调用时,出现HTTP状态500错误,提示为:

The method print(boolean) in the type JspWriter is not applicable for the arguments (void)

如图:

源码如下:

c 复制代码
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%!
	String sTodayString;
	 void today(){
		Date dToday = new Date();
		sTodayString = "今天是"+dToday;
	}
%>
<%=today() %>
</body>
</html>

错误解决:

原因是:采用<%=表达式%>方式进行表达式求值输出时,不能调用没有返回值的声明函数!

因此,解决方法是:

将today修改为具有return的函数。如下:

c 复制代码
<%!
	 String today(){
		Date dToday = new Date();
		return "今天是"+dToday;
	}
%>
<%=today() %>
</body>
</html>

运行成功!

相关推荐
L.EscaRC4 分钟前
Spring Boot 自定义组件深度解析
java·spring boot·后端
pengzhuofan11 分钟前
IntelliJ IDEA 常用快捷键
java·ide·intellij-idea
ANGLAL13 分钟前
17.MyBatis动态SQL语法整理
java·sql·mybatis
SheepHappy27 分钟前
MyBatis-Plus 源码阅读(二)代码生成器原理深度剖析
java·源码阅读
雨白36 分钟前
重识 Java IO、NIO 与 OkIO
android·java
light_in_hand38 分钟前
内存区域划分——垃圾回收
java·jvm·算法
金銀銅鐵39 分钟前
[Java] JDK 9 新变化之 Convenience Factory Methods for Collections
java·后端
用户7406696136251 小时前
入门并理解Java模块化系统(JPMS)
java
金銀銅鐵1 小时前
[Java] 用 Swing 生成一个最大公约数计算器
java·后端
小安同学iter1 小时前
SQL50+Hot100系列(11.7)
java·算法·leetcode·hot100·sql50