Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema struts2

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    137

    problema struts2

    Ho il seguente problema su un'applicazione che sto sviluppando in struts 2:

    HTTP Status 404 - There is no Action mapped for namespace / and action name populateRegister.

    --------------------------------------------------------------------------------

    type Status report

    message There is no Action mapped for namespace / and action name populateRegister.

    description The requested resource (There is no Action mapped for namespace / and action name populateRegister.) is not available.

    questa è la index.jsp
    ------------------
    <META http-equiv="Refresh" content="0;URL=populateRegister.action">

    che rimanda a quest'altra

    register.jsp
    -------------
    <%@ taglib uri="/struts-tags" prefix="s" %>

    <html>
    <head>
    <title>Struts 2 Form - Register</title>
    </head>
    <body>
    <s:form action="Register">
    <s:textfield name="username" label="User Name"/>
    <sassword name="password" label="Password"/>
    <s:radio list="{'Male','Female'}" name="gender" label="Gender"/>
    <s:select list="countryList"
    name="country"
    label="Select a country"
    listKey="countryId"
    listValue="countryName"
    headerKey="0"
    headerValue="Country"/>
    <s:textarea name="about" label="About you"/>
    <s:checkboxlist list="communityList" name="community" label="Community"/>
    <s:checkbox name="mailingList" label="Would you like to join our mailing list?"/>
    <s:submit />
    </s:form>
    </body>
    </html>

    qst è lo struts.xml
    -------------------
    <?xml version="1.0" encoding="UTF-8"?>

    <struts>
    <package name="default" extends="struts-default">
    <action name="/Register" method="{1}" class="vaannila.RegisterAction">
    <result name="populate">/register.jsp</result>
    <result name="input">/details.jsp</result>
    <result name="success">/success.jsp</result>
    </action>
    </package>
    </struts>

    quale potrebbe essere il problema?

  2. #2
    Il problema è il file struts.xml. Nella index.jsp viene dichiarata
    <META http-equiv="Refresh" content="0;URL=populateRegister.action">
    che invoca l'action populateRegister. Tale action va dichiarata nel file struts.xml, in questo modo:

    <package name="default" extends="struts-default">
    <action name="populateRegister" method="{1}" class="vaannila.RegisterAction">
    <result name="success">/register.jsp</result>
    </action>
    </package>

    Questo è il primo errore!
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    137
    grz cmq, ma putroppo il problema è rimasto.....mi dà sempre lo stesso errore.....

    se ti può essere utile qst è la classe:
    ---------------------------------------

    import java.util.ArrayList;

    import com.opensymphony.xwork2.ActionSupport;

    public class RegisterAction extends ActionSupport
    {

    /**
    *
    */
    private static final long serialVersionUID = -2239377913873873567L;
    private String username;
    private String password;
    private String gender;
    private String about;
    private ArrayList<Country> countryList;
    private ArrayList<String> communityList;
    private String[] community;
    private Boolean mailingList;

    public String populate()
    {
    countryList = new ArrayList<Country>();
    countryList.add(new Country(1, "India"));
    countryList.add(new Country(2, "USA"));
    countryList.add(new Country(3, "Italy"));

    communityList = new ArrayList<String>();
    communityList.add("Java");
    communityList.add(".Net");
    communityList.add("SOA");

    community = new String[]{"Java",".Net"};
    mailingList = true;

    return "populate";
    }

    public String execute()
    {
    return SUCCESS;
    }

    public Boolean getMailingList() {
    return mailingList;
    }
    public void setMailingList(Boolean mailingList) {
    this.mailingList = mailingList;
    }
    public ArrayList<Country> getCountryList() {
    return countryList;
    }
    public void setCountryList(ArrayList<Country> countryList) {
    this.countryList = countryList;
    }
    public void setUsername(String username) {
    this.username = username;
    }
    public String getUsername() {
    return username;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    public String getPassword() {
    return password;
    }
    public void setGender(String gender) {
    this.gender = gender;
    }
    public String getGender() {
    return gender;
    }
    public void setAbout(String about) {
    this.about = about;
    }
    public String getAbout() {
    return about;
    }
    public void setCommunityList(ArrayList<String> communityList) {
    this.communityList = communityList;
    }
    public ArrayList<String> getCommunityList() {
    return communityList;
    }
    public void setCommunity(String[] community) {
    this.community = community;
    }
    public String[] getCommunity() {
    return community;
    }

    }

  4. #4
    Prova a mettere il namespace nel file struts.xml:
    <package name="default" namespace="/" extends="struts-default">

    e togli method:
    <action name="populateRegister" class="vaannila.RegisterAction">
    <result name="success">/register.jsp</result>
    </action>

    Fin quando dà errori di questo tipo "HTTP Status 404 - There is no Action mapped for namespace / and action name populateRegister", è solo un problema di configurazione. Nella classe java deve essere presente obbligatoriamente il metodo execute(). Ho visto inoltre che hai dichiarato come return "populate"; nel metodo populate(); credo che non è un meodo corretto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    137
    putroppo mi da sempre lo stesso problema......e sto seguendo un tutorial su questo sito perkè sono alle prime armi con struts2:

    http://www.vaannila.com/struts-2/str...example-1.html

    ti ringrazio ugualmente per l'aiuto.....


    N.B. su qst tutorial nn funziona neanke il war che hanno condiviso, dà lo stesso problema.....eventualmente nn c'è un altro modo per reindirizzare la pagina, o qlk altro modo per caricare la s:select (perkè fondamentalmente è quest' ultimo il problema)?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.