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>

运行成功!

相关推荐
欧哈东哥9 分钟前
【C++】标准库中用于组合多个值的数据结构pair、tuple、array...
java·数据结构·c++
python_13613 分钟前
web请求和响应
java·spring·github
ciku2 小时前
Spring AI Starter和文档解读
java·人工智能·spring
程序猿阿越2 小时前
Kafka源码(三)发送消息-客户端
java·后端·源码阅读
whitepure2 小时前
万字详解Java中的运算
java
AAA修煤气灶刘哥2 小时前
搞定 Redis 不难:从安装到实战的保姆级教程
java·redis·后端
MrSYJ2 小时前
全局和局部AuthenticationManager
java·后端·程序员
界面开发小八哥2 小时前
「Java EE开发指南」如何使用MyEclipse中的Web Fragment项目?
java·ide·java-ee·eclipse·myeclipse