Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Проблема в Struts


Автор: maddoc 12.10.2006, 11:12
Проблема в следующем, создал новый проект (Idea+Tomcat). Подключил struts.jar Распаковал struts-blank.war и перенес из него некоторые файлы. Подредактировал struts-config.xml, создал класс action и вызов actionname.do из index.html
Так вот при проходе в отладчике, отладчик доходит только до определения класса, а вызов метода execute не происходит. в чем прроблема?
то что добавлено struts-config.xml
Код

    <action-mappings>

        <action path="/register1"
            type="coreservlets.RegisterAction1">

        <forward name="success" path="/WEB-INF/results/confirm.jsp"/>
        </action>

файл action-а
Код

package coreservlets;


import javax.servlet.http.*;
import javax.servlet.ServletException;
import org.apache.struts.action.*;

public class RegisterAction1 extends Action {
    public ActionForward execute (ActionMapping mapping,
                                  ActionForward forward,
                                  HttpServletRequest request,
                                  HttpServletResponse response)throws Exception, ServletException
    {
      System.out.print("sdmhf");
        return (mapping.findForward("success"));
    }
}


вызов
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head><title>New account registration</title></head>
  <body>
  <h1>New account registration</h1>
  <form action="register1.do" method ="post">
  E-mail address: <input type="text" name="email"><br>
  Password:       <input type="password" name="password"><br>
  <input type="submit" value="Sing me up!">
  </form>
  </body>


Автор: maddoc 12.10.2006, 12:41
господа, что никто не знает такой ерунды?

Автор: Gershkovich 12.10.2006, 14:45
а в web.xml прописывал мапинг для струтсовского сервлета ?

ЗЫ папка  WEB-INF не лутшее место для JSP

Автор: fe2s 12.10.2006, 14:55

попробуй 
<html:form ....

Автор: Gershkovich 12.10.2006, 14:58
<html:form используется если используется ActionForm

А правильные поцаны не используют ActionForm smile

Автор: maddoc 12.10.2006, 15:36
ну в web.xml
Код

  <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>


ActionForm пока не  знаком

Автор: Gershkovich 12.10.2006, 16:25
А если без отладчика ? Что говорит ?
Может эксепшны какие сыпет ?

Вышли сырцы и то что лежит у тебя в папке webapps\[твое приложение]
на  f.gershkovich [a dog ] mail.ru
только без либов struts.jar :)

явно что-то где-то упустил

Автор: maddoc 12.10.2006, 16:49
1. ушло. буду благодарен за помощь.
2. ничего не  пишет ехсепшион

Автор: jitm 13.10.2006, 13:35
Цитата(maddoc @  12.10.2006,  16:49 Найти цитируемый пост)
2. ничего не  пишет ехсепшион 

Ну если ничего не пишет значит ничего не делает, или делает.., но по его усмотрению всё коректнно..,
Давно я работал со стратсом, я могу ошибаться но  может вам стоит:
вот так сделать
Код

<form action="register1" method ="post">


????

Автор: Gershkovich 13.10.2006, 14:08
Все оказалось просто...
В Action был перекрыт не тот  метод execute

Автор: maddoc 13.10.2006, 15:08
спасибо! очень очень помог!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)