| Autor |
Mensagem |
|
|
Se eu precisar transformar um Calendar para Date eu uso o seguinte comando:
GregorianCalendar calendar = new GregorianCalendar();
Date data = calendar.getTime();
E se eu quiser fazer o contrário, transformar um date em calendar, eu usei o seguinte:
Date data = new Date();
Calendar calendar = new GregorianCalendar(data.getYear(),
data.getMonth(), data.getDate());
Esse código funciona, mas liga três alertas de uso de API deprecated. Alguém sabe como evitar isso? Tentei pegar os milisegundos, mas ficou bem atrapalhado:
Date data = new Date();
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.MILLISECOND, Integer.valueOf(""+data.getTime()).intValue());
Aguém tem uma sugestão?
|
 |
|
|
Grinvon wrote:Outro bom site é o
www.tableless.com.br
Infelizmente ele é barrado aqui no trampo.
ué? você tem idéia do porque de barrarem o tableless? Algum motivo anti-tableless???
ps: fiquei curioso de saber onde vc trabalha, eheh
|
 |
|
|
Eu utilizo o w3schools, que tem o tutorial:
http://www.w3schools.com/css/default.asp
Lá tmb tem referencias bacanas de xhtml e outras linguagens web.
|
 |
|
|
Funciona direitinho.
Inclusive é o que estou utilizando (foi de muita ajuda, inclusive).
O que estou comentando é que se a detecção pudesse ser feita dentro do request (dentro da servlet ou action do struts) seria uma forma melhor, pois não ficaríamos na dependencia do cliente deixar o javascript ligado, capisce?
|
 |
|
|
Solução em código java não existe?
Eu fiz uma busca dentro do request (HttpServletRequest) mas não encontrei nada... Acho que depender do cliente ter javascript habilitado é uma solução subótima.
Se alguém souber fazer isso em java dê um salve, please.
|
 |
|
|
Acabei escrevendo a bendita.
É preciso ter um arquivo properties com os caracteres especiais a serem substituidos, ok?
/br/com/seudominio/caracteres.properties
/**
* Esta classe provê métodos para manipulação e formatação de texto.
*
* @author fgomes
*/
public class Text {
private static Properties specialChars;
private static final String specialCharsFile = "/br/com/seudominio/caracteres.properties";
private static boolean init = false;
private static void init() throws RelatoriosTextException {
if (!init) {
specialChars = new Properties();
try {
InputStream in = "".getClass().getResourceAsStream(specialCharsFile);
if (in == null) {
throw new RelatoriosTextException("Arquivo properties não encontrado" ;
}
specialChars.load(in);
in.close();
} catch (FileNotFoundException e) {
throw new RelatoriosTextException(e);
} catch (IOException e) {
throw new RelatoriosTextException(e);
}
init = true;
}
}
/**
* Substitui todos caracteres especiais por sua representação em html.
*
* @param htmlText
* texto html a ser convertido.
* @return o texto formatado.
* @throws RelatoriosTextException
*/
public static String htmlChar(String htmlText) throws RelatoriosTextException {
init();
StringBuffer b = new StringBuffer(htmlText);
String mychar = temCaracterSpecial(b);
while ((mychar != null)&&(!mychar.equals("" )) {
substituiCaracter(b, mychar);
mychar = temCaracterSpecial(b);
}
return b.toString();
}
/**
* Se o StringBuffer possuir algum caracter a ser substituido, retorna true.
* @param b sequencia a ser processada.
* @return o caracter a ser trocado.
*/
private static String temCaracterSpecial(StringBuffer b) {
int x = 0;
char[] c = new char[1];
for (int i = 0; i < b.length(); i++) {
b.getChars(i, i+1, c, x);
if (specialChars.keySet().contains(new String(c))) {
return new String(c);
}
}
return null;
}
/**
* Troca caracter especial.
* @param b
* @param mychar
*/
private static void substituiCaracter(StringBuffer b, String mychar) {
int pos = b.indexOf(mychar);
b.replace(pos, (pos+1), specialChars.getProperty(mychar));
System.out.println("trocado: " + specialChars.getProperty(mychar));
}
}
|
 |
|
|
Como eu acho muito mala ter de esperar a apresentação carregar só para pegar as instruções de configuração de ambiente, resolvi replicá-la aqui. Espero que sirva de conveniencia.
* abrir a porta 8000 do servidor (caso haja firewall);
* configurar duas variáveis de ambiente:
JPDA_ADDRESS=8000
JPDA_TRANSPORT=dt_socket
* o tomcat de desenvolvimento sempre deverá ser iniciado com o comando catalina.sh jpda start
|
 |
|
|
Para evitar o uso de método deprecated, troque a linha #1 pela linha #2.
#1
JasperManager.printReportToPdfStream(jasperPrint, out);
#2
JasperExportManager.exportReportToPdfStream(jasperPrint, out);
|
 |
|
|
Luis Claudio,
O que acontece é que quando você roda o seu código o arquivo commons-digester.jar não deve estar na classpath. Coloque o arquivo e tente de novo.
Em uma atualização que fiz em um projeto recentemente o arquivo commons-digester.jar estava presente, mas em uma versão antiga, de forma que algumas classes e métodos chamados pelo jasper simplesmente não existiam. Tive de atualizar o common-digester e o funcionou adequadamente.
Moral da história: o common-digester deve estar na classpath e em uma versão compatível com a sua versão o jasper reports
Boa sorte.
|
 |
|
|
Só para compartilhar:
Tive um problema parecido de PropertyAccessException. Aparecentemente o problema estava relacionado a uma exceção que levantei em um setter. Todavia existem outros setters com exceções funcionam bem: não geram o PropertyAccessException.
Como o setter que estava apresentando o problema não precisava da exceção, retirei a exceção e tudo voltou a funcionar,. sem que eu entendesse o motivo.
PS: aparentemente o hbm está ok, pois eu crio o factory pelo hibernate tools sem problemas.
PPS: abaixo o código que funciona. O código que não funciona era do setDtFim().
<code>public void setLinha(Integer linha) throws ComponenteSalarialException {
Integer linhaAnterior = getLinha();
if (linha == null) {
this.linha = linhaAnterior;
throw new ComponenteSalarialException("Linha nula");
}</code>
|
 |
|
|
|
você pode passar via request ou via session, o que você achar mais conveniente para o seu programa.
|
 |
|
|
Eu acho que o java webstart é o melhor para distribuir aplicações para leigos. Comigo foi o que melhor funcionou para as pessoas que não fazem idéia do que é uma jre.
Eu indiquei que precisava instalar um executável (o jre) e depois clicar num link em uma página e esperar carregar
|
 |
|
|
Eu instalei o eclipseUML do Omondo e estava muito satisfeito, até colocar meu projeto no sourceforge e descobrir que a edição free não permite trabalhar com servidor cvs...
E pelo que pesquisei na internet e aqui no fórum, não existe nenhum plugin para o eclipse bom, que mantenha o código atualizado e que seja 100% funcional, certo?
|
 |
|
|
O java detecta, durante a compilação, se o médoto que vc está chamando pode levantar uma exceção. Caso positivo ele obrigado que vc utilize o try...catch. No caso, o método que você está chamando tem essa característica.
O único tipo de exceção que não gera essa necessidade é a exceção em tempo de execução.
|
 |
|
|
|
Email para contato: fgomes@al.sp.gov.br
|
 |
|
|