- PR -

strutsについて

1
投稿者投稿内容
けん
会議室デビュー日: 2005/11/30
投稿数: 4
投稿日時: 2005-11-30 11:44
はじめまして。最近strutsを使いはじめたものです。

jsp画面でsubmitボタンを押すと次の画面が何も表示されない状態になってしまいます。
なにが原因なのかわからず困っているのですが、どなたか教えていただけないでしょうか?

loginForm.jsp========================================
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>

<html:html>
<head>
</head>
<body>
<html:form action="/loginForm">
ID:<html:text property="id" />
<br>
PASSWORD:<html:text property="password" />
<br>
<html:submit value="Login" />
</html:form>
</body>
</html:html>

LoginAction.java=============================
package ****.****.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import ****.****.bean.LoginBean;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LoginAction extends Action {
public ActionForward disp(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
LoginBean rec = (LoginBean)form;

HttpSession session = request.getSession();

String id = rec.getId();
String password = rec.getPassword();

request.setAttribute("id",id);
request.setAttribute("password",password);

return mapping.findForward("success");
}
}

LoginBean.java========================================
package ****.****.bean;

import org.apache.struts.action.ActionForm;

public class LoginBean extends ActionForm {

String id = null;

String password = null;

public String getId(){
return id;
}

public String getPassword(){
return password;
}

public void setId(String string){
id = string;
}

public void setPassword(String string){
password = string;
}
}

struts-config.xml===================================
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>
<form-beans>
<form-bean name="loginBean" type="****.****.bean.LoginBean" />
</form-beans>

<action-mappings>
<action
name="loginBean"
path="/loginForm"
type="****.****.action.LoginAction"
scope="session">
<forward name="success" path="/result.jsp" />
</action>
</action-mappings>
</struts-config>

result.jsp==========================================
<%@ page contentType="text/html; charset=Shift_JIS" %>
<html>
<head>
</head>
<body>
ID : <%= (String)request.getAttribute("id") %>
PASSWORD : <%= (String)request.getAttribute("password") %>
</body>
</html>

よろしくお願いします。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2005-11-30 14:14
こんにちは。

web.xml で、 ActionServletにマッピングされた URL はなんでしょうか。

一般的には *.do が多いと思います。

そうであるならば、

<html:form action="/loginForm.do">

とかじゃないでしょうか。

web.xmlはどうなっていますか?
sui
会議室デビュー日: 2005/11/18
投稿数: 7
お住まい・勤務地: 大坂
投稿日時: 2005-11-30 14:28
ビジネスロジックをLoginActionクラスのdispメソッドに記述していますが、
どこからも参照されていないようです。

executeメソッドを記述しましょう。

[ メッセージ編集済み 編集者: UNISTYLE 編集日時 2005-11-30 14:36 ]
けん
会議室デビュー日: 2005/11/30
投稿数: 4
投稿日時: 2005-11-30 14:31
返信ありがとうございます。

web.xmlは以下の通りになっているのですが、
<html:form action="/loginForm.do">でしても結果はかわりませんでした。

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>
<display-name>Struts Blank Application</display-name>

<!-- Standard Action Servlet Configuration (with debugging) -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>


<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>


<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>


<!-- Struts Tag Library Descriptors -->
<taglib>
<taglib-uri>/tags/struts-bean</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/tags/struts-html</taglib-uri>
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/tags/struts-logic</taglib-uri>
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/tags/struts-nested</taglib-uri>
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
</taglib>

<taglib>
<taglib-uri>/tags/struts-tiles</taglib-uri>
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
</taglib>

</web-app>
けん
会議室デビュー日: 2005/11/30
投稿数: 4
投稿日時: 2005-11-30 14:48
UNISTYLEさん返信ありがとうございます。

excuteメソッド記述したら解決しました。

raystarさん、UNISTYLEさんありがとうございました。

1

スキルアップ/キャリアアップ(JOB@IT)