[ anon156554 @ 13.07.2009. 11:33 ] @
| Razvijam struts2 aplikaciju, i imam problem pri validaciji. Koristim validation framework, i konstantno mi u stack trace-u javlja da ne postoji validation dokument. Pratio sam konvenciju da se dokument nazove kao akcija, ako je akcija MyAction dokument je MyAction-validation.xml i nalazi se u istom package-u kao i klasa. Ne znam u cemu moze biti problem. Razvijam pod ubuntuom 8.10, Netbeans 6.5.1 IDE. |
[ anon156554 @ 06.11.2009. 11:15 ] @
dobro, taj problem sam resio. Da li je neko imao problem sa redirectAction tipom rezultata? Nesto sam guglao, i video da izgleda postoje bagovi u struts2 sto se tice te vrste rezultata. Konkretno, prosledjujem neki parametar akciji koja je navedena ovim tipom rezultata, ali struts prijavljuje da parametar pod tim imenom ne postoji. A postoji, takodje i getter i setter. Ne'am pojma sta je u pitanju.
[ IDE @ 07.11.2009. 08:44 ] @
copy/paste dio struts.xml-a i klase koja ima gettere i settere koji prave probleme i opisi sta tacno zelis da dobijes...
Ovako ti tesko ko moze dati odgovor na pitanje "zasto mi ne radi slanje parametra?"
Moze biti dosta toga...
[ anon156554 @ 07.11.2009. 08:57 ] @
<action name="PosaljiKomentar" class="akcije.PosaljiKomentarACT">
<interceptor-ref name="def_spring_logged" />
<result name="success" type="redirectAction">
<param name="actionName">PrikazVest</param>
<param name="namespace">/opsti</param>
<param name="idVesti">${#session.idVestiUSesiji}</param>
</result>
<result name="input" type="redirectAction">
<param name="actionName">PrikazVest</param>
<param name="namespace">/opsti</param>
<param name="idVesti">${#session.idVestiUSesiji}</param>
</result>
<result name="login">/nonSecureJSPS/LoginPage.jsp</result><!-- <- ako je otvorena stranica sa formom za slanje komentara
a korisnicka sesija je u medjuvremenu istekla-->
</action>
......
<action name="PrikazVest" class="akcije.PrikazVestACT">
<result>/WEB-INF/jsp/PrikaziVest.jsp</result>
</action>
......
package akcije;
public class PrikazVestACT extends ActionSupport implements RequestAware, SessionAware {
private Integer idVesti;
private Vest trazenaVest;
private List najnovijeVesti;
private List listaSlicnihVesti;
private Map request;
private Map<String, Object> session;
public List getListaSlicnihVesti() {
return listaSlicnihVesti;
}
public void setListaSlicnihVesti(List listaSlicnihVesti) {
this.listaSlicnihVesti = listaSlicnihVesti;
}
public List getNajnovijeVesti() {
return najnovijeVesti;
}
public void setNajnovijeVesti(List najnovijeVesti) {
this.najnovijeVesti = najnovijeVesti;
}
public Vest getTrazenaVest() {
return trazenaVest;
}
public void setTrazenaVest(Vest trazenaVest) {
this.trazenaVest = trazenaVest;
}
public Integer getIdVesti() {
return idVesti;
}
public void setIdVesti(Integer idVesti) {
this.idVesti = idVesti;
}
BusinessLogicInt blFacade;
public BusinessLogicInt getBlFacade() {
return blFacade;
}
public void setBlFacade(BusinessLogicInt blFacade) {
this.blFacade = blFacade;
}
public PrikazVestACT() {
}
@Override
public String execute() throws Exception {
String result = SUCCESS;
try {
Vest vest = blFacade.vratiTrazenuVest(idVesti);
setTrazenaVest(vest);
setListaSlicnihVesti(blFacade.vratiVestiPoIstojKljucnojReci(vest));
setNajnovijeVesti(blFacade.vratiNajnovijeVesti());
getSession().put("idVestiUSesiji", vest.getIdVesti());
} catch (Exception e) {
request.put("error", e);
result = "failure";
}
return result;
}
public void setRequest(Map request) {
this.request = request;
}
/**
* @return the session
*/
public Map<String, Object> getSession() {
return session;
}
/**
* @param session the session to set
*/
public void setSession(Map<String, Object> session) {
this.session = session;
}
}
[ DeYo @ 04.12.2009. 13:31 ] @
Deluje mi da bi ti paramsPrepareParamsStack interceptor stack resio problem.
Vise o svim predefinisanim interceptor stackovima:
http://struts.apache.org/2.x/docs/interceptors.html
Evo, i primer kako meni to funkcionise u jednoj aplikaciji:
Akcija:
Code:
public class MyAction extends ActionSupport {...
config
Code:
<struts>
<package name="myPackage" namespace="/my" extends="...">
<interceptors>
<interceptor-stack name="myStack">
<interceptor-ref name="paramsPrepareParamsStack" >
...
</interceptor-ref>
</interceptor-stack>
</interceptors>
<action name="myAction" class="com.....MyAction">
...
</action>
[Ovu poruku je menjao DeYo dana 04.12.2009. u 14:43 GMT+1]
[Ovu poruku je menjao DeYo dana 04.12.2009. u 14:43 GMT+1]
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.