jonimca
Fevereiro 9, 2007, 9:04am
#1
Preciso de uma ajuda, oque devo colocar no campo input quando crio o Action Mapping ?
Veja se está correta a informação, pq com esse valor referenciado para o próprio .jsp apareçe “link interrompido”
<action path="/positivaFileUpload"
type=“br.cisp.pf.actions.PositivaFileUploadAction”
name=“positivaFileUploadActionForm”
scope=“request”
validate=“true”
[color=red] input="/positivaFileUpload.jsp">[/color]
input é o caminho do arquivo que é chamado qdo o usuário digitar “/positivaFileUpload”. no caso vc deveria colocar o caminho completo do arquivo. no meu aqui faço assim, espero q te ajude:
<action path="/cadastroCliente"
type="teste.action.CadastroClienteAction"
name="CadastroClienteForm"
scope="request"
validate="true"
input="/WEB-INF/pages/CadastroClienteCadastro.jsp"
parameter="method">
<forward name="cadastroClienteConsulta" path="/WEB-INF/pages/CadastroClienteConsulta.jsp"></forward>
</action>
jonimca
Fevereiro 9, 2007, 9:46am
#3
Brother, fiz no mesmo esquema que vc me passou , porem a mesma mensagem de erro, sendo:
Unable to find ‘/WEB-INF/cad_clientes.jsp’ forward.
como vc chama o input na sua action? por exemplo, eu tenho um metodo prepareInsert na action que aponta direto pro CadastroClienteCadastro.jsp:
public ActionForward prepareInsert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
return mapping.getInputForward();
}//fecha método prepareInsert
o getInputForward() retorna justamente pro jsp que está no input do struts-config. essa pág de cadastro é q contem os campos digitados pelo usuario para serem inseridos no bd.
jonimca
Fevereiro 9, 2007, 10:04am
#5
Não entendi, como vc usa esse método, estou postando minha Action, dá uma olhada por favor, sendo;
public class CadastroClienteAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, Exception {
ActionErrors errors = new ActionErrors();
CadastroClienteActionForm cadastroForm = (CadastroClienteActionForm) form;
Cliente as = cadastroForm.getCliente();
ActionForward forward = null;
try {
ClienteService cli = new ClienteService();
cli.insertCliente(as);
request.setAttribute("clientes", as);
forward = mapping.findForward("sucessCadastroCliente");
} catch (BusinessException e) {
forward = mapping.findForward(“failureCadastroCliente”);
}
return forward;
}
no seu try/catch vc faz:
forward = mapping.findForward("sucessCadastroCliente");
e
forward = mapping.findForward("failureCadastroCliente");
agora esse “sucessCadastroCliente” e “failureCadastroCliente” não estão nomeados na action-mapping do struts-config. seu action-mapping deveria estar assim:
<action path="/positivaFileUpload"
type="br.cisp.pf.actions.PositivaFileUploadAction"
name="positivaFileUploadActionForm"
scope="request"
validate="true"
input="/positivaFileUpload.jsp">
<forward name="sucessCadastroCliente" path="/positivaok.jsp" />
<forward name="failureCadastroCliente" path="/error.jsp" />
</action>