Tenho uma jsp que tanto chama actions como tb redireciona para outra jsp.Alguem sabe se isso é uma boa prática? Caso não qual seria o padrão mais adequado?
Chamando jsps por jsps
4 Respostas
Não é a melhor prática não, existem diversos jeitos de se ter melhor aproveitamento do código JAVA, você poderia utilizar Java Bean ou Servlets, depende muito de cada caso.
[]s
se vc não passa dados para a outra pagina, não vejo problema, mas se vc passa dados e faz algum tratamento, acho melhor deixar esse trabalho p/ uma action do struts e deixar ela redirecionar o fluxo.
[]'s
blza eu mapiei uma action pra jsp e na jsp tá assim:
<body>
<html:form action=“usuario.do” method=“POST”>
<input type=“hidden” name=“dispatch” value=""/>
<table>
<tr>
<td>
<input type=“button” value=‘ADICIONAR USUÁRIOS’ onclick=“javascript:adicionarUsuarios();”>
<td>
</tr>
<tr>
<td>
<input type=“button” value=‘LISTAR USUÁRIOS’ onclick=“javascript:listarUsuarios();”>
<td>
</tr>
</table>
</html:form>
</body>
<script language=“javascript”>
function adicionarUsuarios() {
var form = document.forms[0];
document.forms[0].action.value = “newuser.do”;
form.submit();
}
function listarUsuarios() {
var form = document.forms[0];
document.forms[0].action.value = “usuario.do”;
form.dispatch.value = “listar”;
form.submit();
}
</script>
Mas qd eu clico em “Adicionar Usuários” a action chamada é a usuario.do ao invés de newuser.do. Eu sei q o form tá chamado a usuario.do mas se eu tirar ele gera erro e mesmo assim eu acho q a ação document.forms[0].action.value sobrescreve o valor do action do form.
eu fiz o mapeamento
<forward name=“newuser” path="/jsp/newuser.jsp"/>
no strus-config mas ta dizendo q não encontra