Erro ao utilizar EL

1 resposta
knik

Amigos,
tenho uma classe assim (devidamente dentro da pasta WEB-INF/classes/EstadosBrasileiros):

package EstadosBrasileiros;
public class Capitais {	
    private String siglaUf = "";
    private String nomeCapital = "";
	
    public String setSiglaUf(){
        return siglaUf;
    }
	
    public String nomeCapital(){
        return nomeCapital;
    }	
    
    public void setSiglaUf(String siglaUf){if (siglaUf == null){        
        if (siglaUf == null){
            siglaUf = "";
        }    
		
        this.siglaUf = siglaUf.trim().toUpperCase();
		
        if (this.siglaUf.equals("RJ")){
            nomeCapital = "Rio de Janeiro";
        }else{
            nomeCapital="Forneça a sigla da UF desejada.";
        }
    }
}

...e uma jsp assim:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="capitais" class="EstadosBrasileiros.Capitais"/>
<jsp:setProperty name="capitais" property="siglaUf" value="${param.uf}"/>

<form action="capital.jsp" method="POST">
	<table>		
		<tr>
			<td>Sigla do Estado (UF):</td>
			<td><input type="text" name="uf" size="3" value="${capitais.siglaUf}"></td>
		</tr>
		<tr>
			<td>Nome da capital:</td>
			<td>${capitais.nomeCapital}</td>
		</tr>
		<tr>		
			<td colspan="2"><input type="submit" value="OK"></td>
		</tr>
	</table>
</form>				

</body>
</html>

...e o arquivo web.xml (devidamente dentro da pasta WEEB-INF), assim:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" 
         version="2.4" 
         xmlns="http://java.sun.com/xml/ns/j2ee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	edicao18</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
</web-app>

...Adaptei isto da revista JavaMagazine. Então, aparentemente, está tudo certinho, no entanto me retorna aquele famoso erro de operator ".", veja o erro abaixo:

javax.servlet.jsp.el.ELException: Unable to find a value for "siglaUf" in object of class "EstadosBrasileiros.Capitais" using operator "."

O engraçado, que em outro computador, devidamente configurado igual ao meu, funciona!!!
Alguém sabe por que?

1 Resposta

Anderson_Schmidt

Olá,

Implemente o método get para esse atributo.
private String siglaUf = "";

Flws!

Criado 2 de outubro de 2006
Ultima resposta 2 de out. de 2006
Respostas 1
Participantes 2