Struts popular html:text no jsp

1 resposta
S

Olá
Tenho um action e quando ele é executado ele executa tambem um methodo passando um codigo de
cliente no meu methodo eu pego esse codigo e faço uma pesquisa na base de dados e faço
request.setAttribute para o jsp porem no jsp eu não consigo mostrar o campo nome que está no
formBean alguem poderia me dizer porque eu não consigo mostrar o campo NOME do meu formBean
no jsp

Grato

//=========================================actionform==========================================

package org.apache.struts.webapp.validator;

import java.util.ArrayList;

import java.util.*;

import java.util.Locale;

import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.util.MessageResources;

import org.apache.struts.webapp.validator.CliForm;

import dao.ClienteDAO;
public final class AltDelNovoCliAction extends Action {

/**

* Commons Logging instance.

*/

private Log log = LogFactory.getFactory().getInstance(this.getClass().getName());

public ActionForward execute(ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception {
// Extract attributes we will need
HttpSession session = request.getSession();
Locale locale = getLocale(request);
MessageResources messages = getResources(request);
CliForm info = (CliForm)form;

[color=red] ClienteDAO clidao = new ClienteDAO();
CliForm cliform[] = clidao.ConsultaClienteCodigo(request.getParameter(“codigo”));

request.setAttribute("atributosValores", cliform);    [/color]    return mapping.findForward("success");        

}

}

//=========================METHODO PARA POPULAR O MEU FORMBEAN ======================

public CliForm[]  ConsultaClienteCodigo(String codigo){	

CliForm[] arrayCliForm = null;

ArrayList pesquisa = new ArrayList();

String SQL = "select nome from cliente where codigo = ? ";

PreparedStatement ps = null;  	

ResultSet rs = null;

try {

CliForm vo = null;

int total = 0;

super.recuperaConexaoPool();

ps = con.prepareStatement(SQL);

ps.setString(1,codigo);

rs = ps.executeQuery();

[color=red][color=blue]while(rs.next()){

vo = new CliForm();

vo.setNome(rs.getString(1));

pesquisa.add(vo);[/color][/color]

}

arrayCliForm = (CliForm[]) pesquisa.toArray(new CliForm[pesquisa.size()]);

ps.close();

con.close();

} catch (Exception e) {

System.err.println("Exception: " + e.getMessage());

} finally {
}
return arrayCliForm;

}

//=======================JSP COM O HTML:TEXT ========================================
<%@ page language=“java” %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix=“bean” %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix=“html” %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix=“logic” %>
html:html

<html:form action=“altdelnovo”>

<center>
    <table border="1">
		  <tr bgcolor="#FFCC00">
		    <td align="center" colspan=2  ><h2>Cadastro de Clientes  </h2> </td>
		  </tr>
		  <tr >
		    <td align="left">Nome</td>
		    <td >
     			    [color=red]<html:text property="nome" size="30" maxlength="20"/>[/color]			    </td>
		  </tr>
    </table>
</center>

</html:form>

[color=green][/color]

1 Resposta

W

Silva, é simples,

no seu action, precisamente no seu metodo execute vc tem um ActionForm, correto?

public ActionForward execute(ActionMapping mapping, 
ActionForm form, HttpServletRequest request, 
HttpServletResponse response) throws Exception {

Então essa ActionForm vc tem que populalo, ai vc tera a sua jsp populada.

No seu codigo isso não ocorre!

Criado 4 de julho de 2005
Ultima resposta 4 de jul. de 2005
Respostas 1
Participantes 2