如何在JSP中定义一个方法,并在方法中得到session中的一个值,然后显示相应的内容?

希望得到类似下面的代码:<%!voidcheck(){if(session.getAttribute("aa").equals("aa")){out.print("out... 希望得到类似下面的代码:
<%!
void check (){
if(session.getAttribute("aa").equals("aa")){
out.print("out.print()");
}
}
%>
但是在<%! %>中得不到session 和out 。

已解决:
<%!
void check (HttpSession session,HttpServletResponse response ){
if("aa".equals(session.getAttribute("id"))){
try{
response.getWriter().write("out.print()");
}catch(Exception e){}
}
}
%>
<%
session.setAttribute("uid","aa");
check(session,response);
%>
展开
 我来答
tq02ksu
2011-04-29 · TA获得超过103个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:77.1万
展开全部
JSP里就算是一个方法体了. JAVA中是不能在方法中定义方法的, 但是可以定义一个内部类, 重载类中的方法, 然后调用内部类的方法.
如:
final Session s = request.getSession();
new org.apache.commons.collections.Closure() {
public void execute(Object o) {
s.xxx()
}
}.execute()
追问
JSP中 可以在中定义方法啊,不过在中却得不到session,out之类的,所以比较头疼。
追答
那个里面是servlet实例的属性. 但是session是跟请求相关的. 要来一个请求, 才会有session. 作用域有差别. 当然得不到session了.

不过你可以定义的一个方法, 把session传进去
这样就可以用了.
public void sss(Session s) {
}
吃饭嫌人多
2011-04-29 · TA获得超过1816个赞
知道小有建树答主
回答量:798
采纳率:100%
帮助的人:104万
展开全部
你可以在JSP页面这样:
<%
String var = session.getAttribute("你放入的session").toString();
%>

在页面显示:<%=var %>就可以了
追问
不是要显示session 中的值,而是根据session中的值显示其他的相应内容,并且是要定义一个方法,然后在其他地方可以引用的。
追答
你的做法有点不好额~~ 一般方法不是写在JSP页面的,写在后台的JAVA类中,JSP只是调用类中的方法,在JSP页面写方法很不安全~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lisuyi0411
2011-04-29
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
<%
String value=(String)session.getAttribute("key");
%>
<%=value%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式