为什么在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
...全文
56 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-09-28 10:47
社区公告
暂无公告