Data em JSF

9 respostas
L

Eu tenho essa pagina aqui, e eu queria mostrar a data de hoje com: (“Hoje”: o dia da semana, data/mes/ano - horas mudando) no rodapé do meu datatable:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j">

<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="/CSS/estilo.css" />
</head>
<body id="principal_login" background="Imagens/background.JPG">
<f:view>
	<h:form>
		<rich:dataTable value="#{LoginMB.login}" border="4" align="center"
			width="613" style="class_tableLogin">
			<rich:column colspan="4" style="TEXT-ALIGN: center;">
				<f:facet name="header">
					<h:outputText value="Controle de Horas- Equipe Teste"
						style="FONT-FAMILY: Engraves Mt; FONT-SIZE: 14pt;" />
				</f:facet>
				<br />
				<br />
				<h:graphicImage value="/Imagens/lock.gif" alt="cadeado" />
				<h:outputText value=" Efetuar Login" styleClass="fonte_login_titulo" />
				<hr width="400px" style="color: black;" />
				<br />
				<h:outputText value="Informe os dados abaixo para entrar no sistema"
					styleClass="fonte_login" />
				<br />
				<br />
				<h:outputText value="Nome: " styleClass="fonte_login" />
				<h:inputText id="log_nome" value="#{LoginMB.login.nome}" />
				<br />
				<br />
				<br />
				<h:outputText value="Senha: " styleClass="fonte_login" />
				<h:inputSecret id="log_senha" value="#{LoginMB.login.senha}" />
				<br />
				<br />
				<br />
				<a4j:commandButton image="/Imagens/enviar.JPG" value="Enviar"
					action="#{LoginMB.verificarLogin}" />
				<br />
				<br />
				<br />
				<f:facet name="footer">
					<h:outputText value="Hoje: " />
				</f:facet>
			</rich:column>
		</rich:dataTable>
		
		<a4j:status id="statusAguarde" onstart="Richfaces.showModalPanel('ajaxLoadingModalBox',{top:200})"   
                                               onstop="Richfaces.hideModalPanel('ajaxLoadingModalBox')" style="text-align: center;"/>  
              
                <rich:modalPanel id="ajaxLoadingModalBox" autosized="true" style="text-align: center;" width="400" height="30">  
                     <f:facet name="header">  
                        <h:outputText value="Aguarde " /> 
                     </f:facet> 
                     <h:graphicImage url="/Imagens/carregando.gif"/> 
                </rich:modalPanel> 
                
		
	</h:form>
</f:view>
</body>
</html>

teria que fazer um método pra isso, eu tenho o MB tambem de loginBean, segue abaixo:]

package br.com.sistema.controleHoras;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;

public class LoginMB {

	private List<LoginBean> logins;
	private List<LoginBean> loginsLogados;
	private LoginBean login;
	private TipoAcessoBean tipo_acesso;
	private DBAccessDAO db = new DBAccessDAO();

	public LoginMB() throws SQLException {

		login = new LoginBean();
		logins = new ArrayList<LoginBean>();
		loginsLogados = new ArrayList<LoginBean>();
		tipo_acesso = new TipoAcessoBean();
		
	}

	public DBAccessDAO getDb() {
		return db;
	}

	public void setDb(DBAccessDAO db) {
		this.db = db;
	}

	public List<LoginBean> getLogins() {
		return logins;
	}

	public void setLogins(List<LoginBean> logins) {
		this.logins = logins;
	}

	public LoginBean getLogin() {
		return login;
	}

	public void setLogin(LoginBean login) {
		this.login = login;
	}

	public List<LoginBean> getLoginsLogados() {
		return loginsLogados;
	}

	public void setLoginsLogados(List<LoginBean> loginsLogados) {
		this.loginsLogados = loginsLogados;
	}

	public TipoAcessoBean getTipo_acesso() {
		return tipo_acesso;
	}

	public void setTipo_acesso(TipoAcessoBean tipoAcesso) {
		tipo_acesso = tipoAcesso;
	}

	public String verificarLogin() throws SQLException{

		String result = "";
		
		db.conectar();
		logins.clear();
		logins = db.consultaLogin(login);
		
		if (logins.isEmpty()){
			//FacesContext.getCurrentInstance().addMessage("", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Nome e Senha não existe na base de dados!", ""));  
			login.setNome("");
			login.setSenha("");
			return "erro";
		}else{
			for (int i = 0; i < logins.size(); i++) {

				if (logins.get(i).isAtivo() == true	&& logins.get(i).getCod_tipo() == 1 && logins.get(i).isLoginOk() == false){
					
					db.updateLogado(logins.get(i));
					result = "sucesso";
					loginsLogados.add(logins.get(i));
					//FacesContext.getCurrentInstance().addMessage("1", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Bem vindo ao sistema - Administrador", ""));  
				
				}else{
					if (logins.get(i).isAtivo() == true	&& logins.get(i).getCod_tipo() == 2 && logins.get(i).isLoginOk() == false) {
						
						db.updateLogado(logins.get(i));
						result = "sucesso";
						loginsLogados.add(logins.get(i));
						//FacesContext.getCurrentInstance().addMessage("2", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Bem vindo ao sistema - Funcionario", ""));  
					}	
					else{
						result = "erro";
					//FacesContext.getCurrentInstance().addMessage("3", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Seu login não está ativo peça para o Administrador ativar!", ""));  
					
				}
			}
		}
			
		db.desconectar();
		login.setNome("");
		login.setSenha("");
		return result;
		}	
	}
	
	public String logoutSistema()throws SQLException{
		
		String result = "";
		
		db.conectar();
		db.updateLogado(login);
		db.desconectar();
		result = "erro";
		loginsLogados.remove(login);
		
		return result;
	}

valeu pessoal.

att,

lymoreira.

9 Respostas

A

cara,

faz isso com JavaScript, pq senao vc arrebenta seu servidor. no google vc acha varios exemplos.

t+

J

lymoreira:
Eu tenho essa pagina aqui, e eu queria mostrar a data de hoje com: (“Hoje”: o dia da semana, data/mes/ano - horas mudando) no rodapé do meu datatable:

Até a parte do “Hoje: o dia da semana, data/mes/ano -” tudo bem fazer no MBean. Você basicamente pode manipular isso através do SimpleDateFormat e o objeto Calendar (GregorianCalendar). Agora a hora ficar mudando no rodapé, isso deve ser feito via Javascript.

X

Off-topic
Desculpa mais alguem poderia ver meu topico :


Preciso resolver esse problema urgente para poder continuar meu estudo.

L

Será que voces poderiam me ajudar a implementar essa data no MB, porque eu não tenho duvidas de como manipular e converter datas no JAVA?

Obrigado.

A

cara,

faz com javascript como eu te disse.

t+

L

É que eu não sei usar javascript, voce pode me ajudar me mostrando código?

valeu.

A

cara,

ta ai um exemplo, http://www.peters1.dk/webtools/javascript/ur.php?sprog=pt

t+

R

lymoreira:
É que eu não sei usar javascript, voce pode me ajudar me mostrando código?

valeu.

um começo pra você, aí você pega a partir daí.

os valores que você vai precisar você consegue a partir do Date() do JavaScript.

Exemplos:

var hoje = new Date();
	var dia = hoje.getDate(); // Pega o dia atual (0-31)
	var mes = hoje.getMonth(); // Pega o mes atual (0-11) preste atenção ao manipulá-lo
	var ano = hoje.getFullYear(); // Pega o ano atual (4 dígitos)
	var hora = hoje.getHours(); // Pega a hora atual
	var minutos = hoje.getMinutes(); // Pega os minutos atuais
	var segundos = hoje.getSeconds(); // Pega os segundos atuais

Segue um link de referencia pra você:
http://www.w3schools.com/jsref/jsref_obj_date.asp

L

valeu pessoal, a hora ta funcionando agora,

eu precisava de uma ajuda na conversão do getDay(), do javaScript, ao invés de número mostrar por nome, o que eu faço de errado na function?

<script type="text/javascript">
function UR_Start() 
{
	UR_Nu = new Date;
	UR_Indhold = "Hoje: " + converteDay(UR_Nu.getDay()) + "," + showData(UR_Nu.getDate()) + "/" + showData(UR_Nu.getMonth()) + "/" + showData(UR_Nu.getFullYear()) + "," + showFilled(UR_Nu.getHours()) + ":" + showFilled(UR_Nu.getMinutes()) + ":" + showFilled(UR_Nu.getSeconds());
	document.getElementById("ur").innerHTML = UR_Indhold;
	setTimeout("UR_Start()",1000);
}
function showFilled(Value) 
{
	return (Value > 9) ? "" + Value : "0" + Value;
}
function showData(Value){

	return Value;
}
function converteDay(Value){

String dia = "";
	
switch(Value){
case 1: 
	dia = "Segunda-Feira";
	break;
case 2:
	dia = "Terca-Feira";
	break;
case 3:
	dia = "Quarta-Feira";
	break;
case 4:
	dia = "Quinta-Feira";
	break;
case 5:
	dia = "Sexta-Feria";
	break;
case 6:
	dia = "Sabado";
	break;
default:
	dia = "Domingo";
	break;
}

return dia;
}

</script>

na página ele ta mostrando em branco o rodapé, e só acontece isso quando eu incluo o dia da semana, sem ele aparece normalmente.

Obrigado.

Criado 8 de novembro de 2011
Ultima resposta 9 de nov. de 2011
Respostas 9
Participantes 5