[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

Messages posted by: boaglio  XML
Profile for boaglio -> Messages posted by boaglio [299] Go to Page: Previous  1, 2, 3 ... , 18, 19, 20 Next 
Author Message

O ideal é você criar a aplicação do Tomcat apontando para o diretório do Eclipse (exemplo: c:\eclipse\workspace\seuProjeto).

Nesse caso qualquer JSP é só alterar e testar no Browser.

Consulte a documentação do Tomcat para saber mais:

http://tomcat.apache.org/tomcat-5.5-doc/index.html

Acredito que uma vez padronizado, poderemos utilizar soluções que utilizem javascript.

Para evitar a geração de arquivos HTML gigantes como o Struts faz, poderíamos usar arquivos nessa estrutura:

/ - raiz
/js/mentawai.js
/css/mentawai.css (se necessário)

E até aproveitar essa estrutura mesmo para implementar valições no cliente.

Muito bom André!

Eu adaptei a sua solução para a minha aplicação, pois eu uso o QueryManager que isola os SQLs em um arquivo properties.

Code:
 public class DBListData  extends AbstractDAO implements ListData {
 
     String query;
     String name;
     String idColumn;
     String descriptionColumn;
     int size = 0;
     ArrayList listLocales = new ArrayList();
 
 	private static Logger logger = Logger.getLogger(DBListData.class);
 
 	/*
 	 * Construtor que define pt_BR como locale padrao
 	 */
 	public DBListData(String name,String query, String idColumn, String descriptionColumn){
 
 		this(name,query,idColumn,descriptionColumn,"pt_BR");
 	}
 
 	/*
 	 * Rotina principal
 	 */
     public DBListData(String name,String query, String idColumn, String descriptionColumn,String locale) {
         this.query = query;
         this.name = name;
         this.idColumn = idColumn;
         this.descriptionColumn = descriptionColumn;
 
         logger.info("Carregando lista = "+name);
 		Statement stmt = null;
 		DAOManager dao = DAOManager.getInstance();
 		Connection conn = dao.getConexao();
 		ResultSet rs = null;
         try {
             Connection conexao = dao.getConexao();
             stmt = super.createStatement(conexao);
             rs = stmt.executeQuery(super.getQuery(query));
             while (rs.next()) {
                 DBListDataItem item = new DBListDataItem(rs.getInt(idColumn), rs.getString(descriptionColumn), locale);
                 listLocales.add(item);
             }
             size = listLocales.size();
             logger.info("lista carregada = "+size+" registros");
 		} catch (SQLException e) {
 			logger.error("[ERRO DE SQL DO DBListData]:" + e.getMessage());
 		} catch (Exception e) {
 			logger.error("[ERRO DO DBListData]:", e);
         } finally {
             close(rs);
             close(stmt);
             close(conn);
         }
     }
 
     public java.util.List getValues(java.util.Locale locale) {
         ArrayList list = new ArrayList();
         for (int i = 0; i < listLocales.size(); i++) {
             if ( ((DBListDataItem)listLocales.get(i)).getLocale().equals(locale.toString()) ) {
                 list.add(listLocales.get(i));
             }
         }
         return list;
     }
 
     public String getValue(int param, java.util.Locale locale) {
         ArrayList list = new ArrayList();
         for (int i = 0; i < listLocales.size(); i++) {
             if ( ((DBListDataItem)listLocales.get(i)).getLocale().equals(locale.toString()) ) {
                 list.add(listLocales.get(i));
             }
         }
         return ((ListDataItem)list.get(param)).getValue();
     }
 
     public int size() {
         return size;
     }
 
 	public String getName() {
 		return name.toUpperCase();
 	}
 
 }
 
 


Aí pra criar as listas eu uso esse código:

Code:
    public void loadLists() throws IOException {
         ListManager.init();
         DBListData usuarios = new DBListData("USUARIOS","usuario.trazLista", "user_id", "username");
         ListManager.addList(usuarios);
     }
 
 

Se existir essa feature eu vou achar ótimo!

Oi,

No WebWork se eu quiser centralizar o texto de todo o site
eu coloco no arquivo webwork.properties isso:

Code:
 webwork.locale=pt_BR
 webwork.custom.i18n.resources=mensagensDoSistema
 


E aí no arquivo mensagensDoSistema.properties eu coloco
todo o texto, como por exemplo:

Code:
 ######################### MENSAGENS DO SISTEMA #########################
 
 ####### APLICACAO GERAL #######
 aplicacao.titulo.cadastro=ENTRE COM OS DADOS DO CADASTRO
 aplicacao.titulo.busca=ENTRE COM OS DADOS DA BUSCA
 ...
 


Como eu faria isso no Mentawai?

saoj wrote:
O erro é o seguinte:
Vc está tentando injetar um java.util.Date num java.sql.Date.
java.sql.Date é um java.util.Date mas o oposto não é verdadeiro.
 


Bingo!

Era isso mesmo, agora tá funcionando!

Isso mesmo, os outros campos vem preechidos.

o VO é esse:

Code:
 import java.io.Serializable;
 import java.sql.Date;
 
 public class NovidadeVO implements Serializable  {
 
     private static final long serialVersionUID = 3256720667452782647L;
     private int id;
     private Date dataPublic;
     private String link;
     private int tipo;
     private String texto;
     private UsuarioVO usuarioVO=new UsuarioVO();
 
   --- getters e setters
 

saoj wrote:
O problema está no VOFilter na hora de colocar esse atributo no campo dataPublic, certo ?
Ele não está colocando, certo ?
 

Isso.


saoj wrote:

Se for isso coloca aqui o código do objeto que está recebendo esse valor, isto é, o objeto que o VOFilter está criando com os valores do input.
Ou vc está injetando direto no action esse valor ?
 


É na Action mesmo, tem uma innerAction "novo" que chama esse método:

Code:
 public String novo() throws Exception {
  NovidadeDAO dao = NovidadeDAO.getInstance();
  try {
    dao.adiciona(vo);
   } catch (DAOException e) {
    logger.error("erro no cadastro!",e);
   }
   return SUCCESS;
 }
 


E no loadActions tá assim:

Code:
 public void loadActions() {
 // novidade
 ActionConfig ac = new ActionConfig("/cadastro/novidade", NovidadeAction.class,"novo");
 ac.addConsequence(NovidadeAction.SUCCESS, new Forward("/cadastro/novidade.jsp"));
 ac.addConsequence(NovidadeAction.ERROR, new Forward("/cadastro/novidade.jsp"));
 ac.addFilter(new NovidadeValidation());
 ac.addFilter(new NovidadeConversionFilter());
 ac.addFilter(new VOFilter(NovidadeVO.class, "vo"));
 ac.addFilter(new InjectionFilter(true));
 addActionConfig(ac);
 }
 
Então... fiz o seguinte esquema:

Code:
 public class MySQLDateConverter extends LocaleConverter {
 
 	private final String MYSQL_MASK="yyyy-MM-dd";
 
 	public Object convert(Object value, Locale loc) throws ConversionException {
 
 		if (value instanceof String) {
 			String s = (String) value;
 			SimpleDateFormat sdf = new SimpleDateFormat(MYSQL_MASK,loc);
 			sdf.setLenient(false);
 			try {
 				return sdf.parse(s);
 			} catch(ParseException e) {
 				throw new ConversionException(e);
 			}
 		} else {
 			throw new ConversionException("MySQLDateConverter can only parse strings: " + value.toString());
 		}
 	}
 }
 


E depois:

Code:
 public class NovidadeConversionFilter extends ConversionFilter {
 
 	public void initConverters() {
 		add("dataPublic", new MySQLDateConverter());
 	}
 


Mas mesmo assim no VO a data "dataPublic" continua vindo nula...
Eu debuguei o convertor e lá chega e retorna a DAta certinho, mas
por algum motivo na Action chega nula

Legal Sérgio,

Eu dei uma alterada no script pra ele criar o banco de dados mybooks.

Tá em anexo...

Legal Sérgio,


Eu dei uma olhada e testei o DateConverter, mas ele só tem construtor para os estilos do DateFormat (SHORT ,MEDIUM ,LONG e FULL).

Tem como definir o meu estilo direto no conversor?

Algo assim:

Code:
 	public void initConverters() {
 		add("dataPublic", new DateConverter("YYYY-MM-DD"));
 	}
 



Oi,

Estou fazendo uma app usado no VOFilter com uma classe.

Dentro da action ele vem preenchida do JSP com quase todos
os campos, exceto o campo data (que é java.sql.Date),
que eu preencho no formato YYYY-MM-DD, mas sempre vem NULL.

Isso era esperado mesmo? Preciso usar String e no DAO
converter a data?

Estou usando mentawai 1.1.1 .



Faz assim:

Code:
 mysqldump mybooks> mybooks.sql
 

Legal o exemplo do MyBooks.

Onde tá o SQL de criação das tabelas?

Alguém já fez? Pode postar aqui please?

 
Profile for boaglio -> Messages posted by boaglio [299] Go to Page: Previous  1, 2, 3 ... , 18, 19, 20 Next 
Go to:   
Powered by JForum 2.1.6 © JForum Team