| Autor |
Mensagem |
|
|
NoodleZ wrote:
Eu so contratado como PJ e consciente que minha situação é irregular. O que temos que por nas nossas cabecas é que não é certo.
Concordo com seu ponto de que a situação é irregular/ilegal (conceito jurídico), mas isto não quer dizer que seja "errado" (conceito moral).
Acho que devemos nos conscientizar de que a lei está defasada em relação à evolução das relações de trabalho que, em particular no caso da área de TI, modificaram a natureza das mesmas.
Pela CLT, acidentes no trajeto trabalho/casa e vice-versa são considerados acidentes de trabalho. Como fica isto no caso de quem trabalha em casa, via internet ? Se tropeço num brinquedo do meu filho no caminho do micro para a cozinha e quebro a perna, isto é um acidente de trabalho ?
Lembre-se, o código civil até pouco tempo falava de "mulher honesta"....
No fundo, o "regime PJ" é simplesmente uma reação da "mão invisível do mercado" a uma legislação caótica e inadequada. Infelizmente, nossos legisladores parecem não ter muito tempo para isto..
|
 |
|
|
O texto é quase igual.
A diferença é a chave usada para buscar a regra de validação no (ou nos) arquivos de validação (validator-xxxxx.xml).
No DynaValidatorForm, a chave é o valor do atributo "name" do form.
No DynaValidatorActionForm, a chave é o path da action que estiver no form.
|
 |
|
|
Acho que isto deveria funcionar:
1. Mude seu form para que, no submit, o conteúdo do campo "j_username" seja o resultado da concatenação do usuário e código da empresa, separados por algum caracter conveniente (ex: '@'). (Um javascript bobinho no onsubmit() resolve isto)
2. Implemente um outro realm baseado no DataSourceRealm que permita receber o nome do usuário com o '@' mas que use apenas a parte inicial na hora do lookup. Ex, se o username recebido for joao@acme, a implementação fará o lookup utilizando apenas o "joao". Talvez seja possível alguma gambi com views, verifique !
3. Na aplicação, o seu "request.getRemoteUser()" voltará o string "usuario@empresa". Se quiser, implemente um filtro que separe estes dois campos e os deixe expostos na forma de variáveis ThreadLocal, de forma que vc possa ter acesso às mesmas em qualquer ponto do código sem ter que ficar passando argumentos.
Obs: Se vc. puder trocar para o JBoss, o equivalente do DataSourceRealm está no arquivo login-config.xml, que permite definir a query inteira, o que possivelmente eliminará a necessidade de um realm customizado.
|
 |
|
|
Não sei se ajuda, mas o Velocity possui o #foreach. Exemplo de uso:
<form>
#foreach( $field in $fields )
<input type="text" name="${field.name}" value="${fields.value}">
#end
<input type="submit>
</form>
|
 |
|
|
Pela mensagem que vc. obteve, o struts não achou o "mapping" para o caminho "/login".
Verifique:
1. Existe um <action-mapping> para "/login" no arquivo de configuração ?
2. O arquivo de configuração está sendo lido pelo struts ?
|
 |
|
|
Sua aplicação está embaixo do contexto "/ABC".
Isto significa que o acesso à aplicação deve ser feito usando uma url do tipo:
http://servidor:porta/ABC/login (ou outro path qq).
|
 |
|
|
1. Coloque os JARs que estão no $JBOSS_HOME/client em um local visível para
suas aplicações web.
2. Crie jars com as interfaces home e remote dos EJBs para uso pelos clientes
3. Para fazer o lookup dos EJBs, passe as propriedades abaixo como argumento do contrutor do InitialContext():
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=jnp://SERVIDORJBOSS:1099
obs: Sugiro deixar isto em um arquivo de propriedades que vc. carrega no init de algum servlet e deixa gardado para uso posterior em uma propriedade no contexto da aplicação.
Fonte:
http://wiki.jboss.org/wiki/Wiki.jsp?page=AccessEJBsRemotely
|
 |
|
|
Acho que o motivo é simples.
O português normalmente não costuma ser o forte da turma de informática, e, infelizmente, não é cobrado nos cursos superiores de exatas.
Quem desenvolve em Java ou outras linguagens que possuem o conceito de exceção acaba vendo diariamente a versão em inglês do termo escrita na cara, e aprende a grafia correta. Já para o português...
|
 |
|
|
Viajei...
Pode declarar a exceção ( Com "c" cedilha !!!, sofro demais ver isto escrito de outra forma ;^)).
O invoke exception pode ocorrer por várias razões, mande o stack trace completo e quem sabe aparece algo mais...
Ajuda tb. se vc. mandar o trecho de código que faz a chamada, a versão do JBoss, JVM, OS, propriedades, contexto de execução (ex: cliente/servidor, apl. web, etc).
Ajude-nos a te ajudar !
|
 |
|
|
Sua interface home não deve declarar as exceções indicadas, ou seja, fica só o create().
|
 |
|
|
Complementando:
A técnica sugerida combina um "token" armazenado na sessão juntamente com um campo "hidden" do formulário. A lógica é a seguinte:
1. No controller que recebe a requisição da página que _apresenta_ o formulário, gere um número aleatório (em sites de baixo tráfego, pode até ser o System.currentTimeMillis() ). Salve este valor na sessão sob um nome conhecido, tal como "nomedoform.token". Na página em si, use um input hidden cujo valor será preenchido com o valor do atributo "nomedoform.token". Dê ao mesmo um nome que faça sentido, "token", p.ex.
2. No controller que recebe o POST do formulário, compare o valor da variável "token" recebida no request ao valor do atributo "nomedoform.token". Se o atributo não existir ou seu valor for diferente do submetido, redirecione para a mensagem de erro "formulário já enviado". Caso contrário prossiga no processamento do mesmo.
|
 |
|
|
Costumo fazer assim:
1. No Header das páginas (pode ser tb. num include ou num layout, se vc. usar o tiles)
<head>
...
<script language="JavaScript"
src='<html:rewrite page="/config/validador.jsp"/>'>
</script>
...
</head>
2. /config/validator.jsp
<html:javascript dynamicJavascript="false" staticJavascript="true" />
Obs: nesta página convém setar tb. alguns headers da resposta para
garantir a "cacheabilidade" da mesma.
3. Nas páginas:
<html:javascript staticJavacript="false" dynamicJavascript="true" formName="NomeDoForm _ou_ /path/da/action" />
|
 |
|
|