ログインに成功するindex.jsp
とリダイレクトされる があります。otl_homepage.jsp
ユーザーがログインしたときに、リストを表示する必要がありますotl_homepage.jsp
。私のstruts.xml
では、type="chain"
タイプを指定するか指定しないと、リストが取得されます。しかし、を使用するtype="redirectAction"
と、リストは null を返します。このリストを取得するにはどうすればよいですか? リストは、私の Java アクション クラスで維持されます。
struts.xml
こことJavaクラスを見つけてください
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation"
value="false" />
<constant name="struts.devMode" value="false" />
<constant name="struts.custom.i18n.resources" value="MessageResource" />
<constant name="struts.convention.result.path" value="/"></constant>
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="authentication"
class="com.opentext.planning.interceptor.LoginInterceptor"></interceptor>
<interceptor-stack name="authStack">
<interceptor-ref name="authentication"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="authStack"></default-interceptor-ref>
<!-- <global-results>
<result name="login" type="redirect">/home.action</result>
</global-results>
<action name="home">
<interceptor-ref name="defaultStack"></interceptor-ref>
<result>/index.jsp</result>
</action>-->
<action name="login" class="com.opentext.planning.view.OTLAuthentication" >
<result name="success" type="redirectAction">Otl_Homepage</result>
<param name="otlUserList">${otlUserList}</param>
<result name="login">/index.jsp</result>
<result name="failure">/index.jsp</result>
<result name="failure2">/index.jsp</result>
</action>
<action name="Otl_Homepage" class="com.opentext.planning.view.OTLAuthentication" method="home">
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success">/Otl_Homepage.jsp</result>
<result name="failure">/index.jsp</result>
<result name="failure2">/index.jsp</result>
</action>
Java クラス:
public String execute(){
System.out.println("inside execute");
//System.out.println("user is" +user.getUser());
// System.out.println("username is " +user.getUserName());
//if("pankaj".equals(user.getUserName()) && "admin".equals(user.getPassword())){
//System.out.println("inside if");
if (j_username != null) {
System.out.println("inside function");
System.out.println("user name is "+j_username);
// add userName to the session
System.out.println("user name is 2"+j_username);
sessionMap.put("loginId", j_username);
System.out.println("dunno if the will print");
// user.setUserName(user.getUserName());
// sessionMap.put("USER", j_username);
status = otlAuthenticationController.loginAuthentication(j_username,j_password);
if(status == "success")
{
this.otlUserList= otlAuthenticationController.obtainList();
System.out.println("size is"+otlUserList.size());
return "success";
}
}
return status;
}