Jakarta ee 如何在JSP中显示在拦截器中声明的会话值?
我是新手,正在测试struts2。已在侦听器中声明的会话中获取值。希望在JSP中显示会话值,但无法执行此操作 有人告诉我如何在OGNL中完成吗 拦截器Jakarta ee 如何在JSP中显示在拦截器中声明的会话值?,jakarta-ee,struts2,interceptor,ognl,Jakarta Ee,Struts2,Interceptor,Ognl,我是新手,正在测试struts2。已在侦听器中声明的会话中获取值。希望在JSP中显示会话值,但无法执行此操作 有人告诉我如何在OGNL中完成吗 拦截器 package com.myapp.interceptors; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class GreetingInterceptor imp
package com.myapp.interceptors;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class GreetingInterceptor implements Interceptor {
@Override
public void destroy() {
}
@Override
public void init() {
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
String Greeting = "My first Interceptor.";
invocation.getInvocationContext().getSession().put("Greeting", Greeting);
String result = invocation.invoke();
return result;
}
}
struts.xml
<struts>
<!-- Configuration for the default package. -->
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="Greeting" class="com.myapp.interceptors.GreetingInterceptor"/>
</interceptors>
<!-- Greeting -->
<action name="greet" method="Greet" class="com.myapp.actions.GreetingAction">
<result name="success">index.jsp</result>
<interceptor-ref name="Greeting"/>
</action>
</package>
</struts>
index.jsp
您可以在jsp中作为
访问您正在尝试的jsp在哪里?我想您错过了这个拦截器。无论何时重写拦截器,框架都会忽略默认堆栈。你是对的,但我认为这对他不起作用@拉希德,请检查一下,如果这行得通的话。这就是部分,我不确定,他没有createSession
拦截器。也许我是wrong@ashish-古普塔,你的解决方案奏效了。我得到显示的值。Onething,难道没有像%{session.Greeting}这样的OGNL语法吗。此EL语法也适用于${session.Greeting}。任何comments@Jaiwo99,这取决于拦截器的顺序。@Rashid和您的EL标记以及struts支持它。