eae galera!!
como faço pra acessar uma classe java, e ainda passar duas variaveis como parametro, a partir de um botão numa página JSP? tem como esse botão ser do tipo HTML?
agradeço desde jah a ajuda!!!
eae galera!!
como faço pra acessar uma classe java, e ainda passar duas variaveis como parametro, a partir de um botão numa página JSP? tem como esse botão ser do tipo HTML?
agradeço desde jah a ajuda!!!
gustavoknz
Não sei se compreendi muito bem a sua pergunta e acredito que o NEW também não, ou seja, você quer acessar uma página JSP passando parâmetro ou acessar uma classe JAVA utilizando um JSP ?
Postarei 2 mensagens: uma p/ acessar uma classe passando parâmetros e a outra para acessar uma página JSP passando parâmetros.
Abraço.
gustavoknz
Como disse segue ai as respostas:
[color=“darkblue”]Para acessar uma classe com parâmetros:[/color]
Você pode colocar um código parecido como esse no botão:
<form name="Executar" method="post" action="pesquisar.jsp?Val1=01&Val2=02">
<input type="submit" name="Botao" value="Enviar">
</form>
[color=“red”]No Action do form você especifica qual página você deseja acessar, caso seja a mesma página o Action fica vazio.[/color] Após submeter a página você terá que criar a instância da classe que você deseja acessar.
ClasseDesejada clsDesejada = new ClasseDesejada();
[color=“red”]Lembrando que deverão ser feitos os request.getParameter:[/color]
String Parametro1, Paramentro2;
Parametro1 = request.getParameter("Val1");
Parametro2 = request.getParameter("Val2");
Após recuperar os dados você executa o método desejado da classe. O exemplo que vou colocar chama um método que retorna uma Collection.
Vector vetProcessar = (Vector) clsDesejada.nomeMetodo(Parametro1, Parametro2 );
Ps.: Os textos que estão em vermelho representão o acesso a uma página JSP passando parâmetros.
Desculpe-me pelo texto muito grande, mas se não me fiz entendido é só postar que tentarei ser mais claro.
na minha pagina JSP, tem um botão HTML (não sei se esse botão eh o mais indicado pra fazer aquilo que quero). Quando o usuário apertar nesse botão, tenho q chamar uma classe java… eu sei como chamar ela em JSP, mas naum sei em HTML!
Green_Beret, valeu pela dica, mas naum entendi como fica o código do botão! 
Gustavo,
Eu não saco muito de jsp, mas eu peguei uma apostila e nela tem um exemplo em que 3 notas são enviadas para uma classe java(JavaBean) ao apertar de um botão. Segue abaixo o exemplo algumas partes do exemplo:
index.jsp
<html>
<head><title>Aplicação web - Exemplo 7</title></head>
<body>
<%@include file="cabecalho.html"%>
<br>
<form type=get action=calculaMedia.jsp>
<table border="1">
<tr><th>Nota 1 </th><td><input type=text name=nota1></td></tr>
<tr><th>Nota 2 </th><td><input type=text name=nota2></td></tr>
<tr><th>Nota 3 </th><td><input type=text name=nota2></td></tr>
</table>
<br>
<INPUT TYPE=submit name=submit value="Calcule a media">
</form>
</body>
</html>
No caso o código do botão seria a tag <INPUT TYPE=submit name=submit value=“Calcule a media”>
calculeMedia.jsp
<jsp:useBean id="umAluno" class="rf.beans.AlunoBean" scope="request"/>
<jsp:setProperty name="umAluno" property="*"/>
<%!String situacao,cor;%>
<%
if (umAluno.getMedia() >= 5.75f){
situacao = "aprovado.jsp";
cor = "#99ff99";//verde
}
else{
situacao = "reprovado.jsp";
cor = "#ff6666";//vermelho
}
%>
<jsp:forward page='<%=situacao%>'>
<jsp:param name="cor" value='<%=cor%>'/>
</jsp:forward>
É aqui que a classe pega os valores enviados ao apertar do botão. A tag que faz isso é <jsp:setProperty name=“umAluno” property="*"/>, onde os parametros do objeto implicito request são passados para o objeto criado na tag anterior(<jsp:useBean id=“umAluno” class=“rf.beans.AlunoBean” scope=“request”/>).
AlunoBean.java
public class AlunoBean {
private float[] notas;
private float media;
/** Creates a new instance of AlunoBean */
public AlunoBean() {
notas = new float[3];
notas[0] = 0.0f;
notas[1] = 0.0f;
notas[2] = 0.0f;
media = 0.0f;
}
protected void calculeMedia(){
media = (notas[0] + notas[1] + notas[2])/3;
}
public void setNota1(float valor){
notas[0] = valor;
this.calculeMedia();
}
public void setNota2(float valor){
notas[1] = valor;
this.calculeMedia();
}
public void setNota3(float valor){
notas[2] = valor;
this.calculeMedia();
}
public float getNota(int i){
return notas[i-1];
}
public float getMedia(){
return media;
}
}
Esta é a classe java. Note que todos os metodos setNotax recebem float valor. Cada um dos tres float valor recebidos por cada um dos setNotax correspondem as tres notas digitadas em index.jsp. Espero ter ajudado.
Fischer
Gustavo,
To colocando abaixo um link da apostila que estou usando e o dos fontes de programa que acabei de te mostrar acima. É só descompactar e montar o diretório e rodar.
http://www.inf.ufsc.br/~zvezda/diversos/apostilajspjavabeans.zip
http://www.inf.ufsc.br/~zvezda/diversos/aplicAcoes.rar
Fischer
Vc quer enviar os dados de um formulário, ou é apenas um link?
:arrow: Se for um formulário, no parametro action, aponte para o seu servlet que foi muito bem tratado pelo web.xml.
:arrow: Se for um link, é só vc colocar pathparapagina.jsp?param1=portal¶m2=java¶3=omelhor
Ok?