为什么在jsp中写一个String g()后会出错?

javasport 2001-09-28 10:47:40
==文件内容==
<%
public String g(){
return "this is a test";
}
out.println(g());
%>
==出错内容==
org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
C:\java\tomcat\work\localhost_8080%2Fjspbbs\_0002ftest_0002ejsptest_jsp_18.java:53: '}' expected.
out = pageContext.getOut();
^
C:\java\tomcat\work\localhost_8080%2Fjspbbs\_0002ftest_0002ejsptest_jsp_18.java:57: Statement expected.
public String g(){
^
C:\java\tomcat\work\localhost_8080%2Fjspbbs\_0002ftest_0002ejsptest_jsp_18.java:62: Type expected.
out.write("\r\n");
^
3 errors, 1 warning
...全文
98 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyun2000 2001-09-29
  • 打赏
  • 举报
回复
to:lci21(流浪少年) 
答案是肯定的:可以的
javasport 2001-09-28
  • 打赏
  • 举报
回复
thx to every one!
lci21 2001-09-28
  • 打赏
  • 举报
回复
直接生命一个方法,好像不行吧?我觉得应该声明到一个类中
chenyun2000 2001-09-28
  • 打赏
  • 举报
回复
<%!
public String g(){
return "this is a test";
}
out.println(g());
%>
你要用!声明,因为JSP编译成SERVLET时,JSP中的内容是包含在类的一个函数中的,函数中当然不能包含函数。
使用!可以将该函数声明为生成的SERVLET类的一个函数
lci21 2001-09-28
  • 打赏
  • 举报
回复
把你的方法封装到一个类里,然后创建这个类的一个实例,再用:
<%
class a
{
public String g(){
return "this is a test";
}
}

a a1=new a();
out.println(a1.g());
%>
浏览器中输出:
this is a test

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧