Boa tarde!!
Estou precisando de ajuda com o seguinte tutorial disponibilizado na doc do netbeans 6.1, que foi arquivada…
Minha dúvida é a seguinte, no método do botão “send” (action_send), há uma invocação do getComment(), mas a implementação do mesmo não está presente no tutorial, como faço para obter o valor do textfield que está em tag JSP?? O tutorial está anexado no post.
Muito obrigado.
Alguém??
[quote=joaogustavocabral]Boa tarde!!
Estou precisando de ajuda com o seguinte tutorial disponibilizado na doc do netbeans 6.1, que foi arquivada…
Minha dúvida é a seguinte, no método do botão “send” (action_send), há uma invocação do getComment(), mas a implementação do mesmo não está presente no tutorial, como faço para obter o valor do textfield que está em tag JSP?? O tutorial está anexado no post.
Muito obrigado.
[/quote]
Posta o trecho do código da jsp onde se encontra o testfield
/*
* Page1.java
*
* Created on 23/05/2011, 13:56:31
*/
package prj_chat;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import javax.faces.FacesException;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
* class contains component definitions (and initialization code) for
* all components that you have defined on this page, as well as
* lifecycle methods and event handlers where you may add behavior
* to respond to incoming events.</p>
*
* @author João Gustavo Cabral
*/
public class Page1 extends AbstractPageBean {
// <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
/**
* <p>Automatically managed component initialization. <strong>WARNING:</strong>
* This method is automatically generated, so any user-specified code inserted
* here is subject to being replaced.</p>
*/
private void _init() throws Exception {
}
// </editor-fold>
/**
* <p>Construct a new Page bean instance.</p>
*/
public Page1() {
}
/**
* <p>Callback method that is called whenever a page is navigated to,
* either directly via a URL, or indirectly via page navigation.
* Customize this method to acquire resources that will be needed
* for event handlers and lifecycle methods, whether or not this
* page is performing post back processing.</p>
*
* <p>Note that, if the current request is a postback, the property
* values of the components do <strong>not</strong> represent any
* values submitted with this request. Instead, they represent the
* property values that were saved for this view when it was rendered.</p>
*/
public void init() {
// Perform initializations inherited from our superclass
super.init();
// Perform application initialization that must complete
// *before* managed components are initialized
// TODO - add your own initialiation code here
// <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
// Initialize automatically managed components
// *Note* - this logic should NOT be modified
try {
_init();
} catch (Exception e) {
log("Page1 Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
// </editor-fold>
// Perform application initialization that must complete
// *after* managed components are initialized
// TODO - add your own initialization code here
}
/**
* <p>Callback method that is called after the component tree has been
* restored, but before any event processing takes place. This method
* will <strong>only</strong> be called on a postback request that
* is processing a form submit. Customize this method to allocate
* resources that will be required in your event handlers.</p>
*/
public void preprocess() {
}
/**
* <p>Callback method that is called just before rendering takes place.
* This method will <strong>only</strong> be called for the page that
* will actually be rendered (and not, for example, on a page that
* handled a postback and then navigated to a different page). Customize
* this method to allocate resources that will be required for rendering
* this page.</p>
*/
public void prerender() {
String username = (String)getExternalContext().getRequestParameterMap().get("username");
if (username != null) {
getSessionBean1().setUsername(username);
}
else if (getSessionBean1().getUsername() == null) {
getSessionBean1().setUsername(getApplicationBean1().getNextAnonUsername());
}
}
/**
* <p>Callback method that is called after rendering is completed for
* this request, if <code>init()</code> was called (regardless of whether
* or not this was the page that was actually rendered). Customize this
* method to release resources acquired in the <code>init()</code>,
* <code>preprocess()</code>, or <code>prerender()</code> methods (or
* acquired during execution of an event handler).</p>
*/
public void destroy() {
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
public String getTranscript() {
String[][] entries =
getApplicationBean1().getEntries();
if (entries == null) {
return null;
}
StringBuffer sb = new StringBuffer();
for (int i = 0; i < entries.length; i++) {
String entryUsername = entries[i][0];
String comment = entries[i][1];
String color = "purple";
String username = getSessionBean1().getUsername();
if (username.equals(entryUsername)) {
color = "blue";
}
sb.append(
"<div><span style=\"font-weight:bold;color:");
sb.append(color);
sb.append("\">[");
sb.append(entryUsername);
sb.append("]</span> ");
sb.append(comment);
sb.append("</div>");
}
return sb.toString();
}
public String send_action() {
// PRECISO COLETAR O CONTEUDO DO TEXTFIELD, PARA ENVIAR AO METODO ADDENTRY
String comment = (String)getComment().getText();
String username = getSessionBean1().getUsername();
getApplicationBean1().addEntry(username, comment);
return null;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : Page1
Created on : 23/05/2011, 13:56:31
Author : João Gustavo Cabral
-->
<jsp:root version="1.2" xmlns:df="http://java.sun.com/jsf/dynamicfaces" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui">
<jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
<f:view>
<ui:page id="page1">
<ui:html id="html1">
<ui:head id="head1">
<ui:link id="link1" url="/resources/stylesheet.css"/>
<df:ajaxTransaction id="commentTx" inputs="page1:html1:body1:form1:send,page1:html1:body1:form1:comment"
postReplace="customPostReplaceForCommentTx" render="page1:html1:body1:form1:transcriptPanel:transcriptText"/>
<df:ajaxTransaction id="pollTx" inputs="" postReplace="customPostReplaceForPollTx"
render="page1:html1:body1:form1:transcriptPanel:transcriptText" replaceElement="customReplaceForPollTx"/>
</ui:head>
<ui:body id="body1" onLoad="handleOnLoad()" onUnload="handleOnUnload()" style="-rave-layout: grid">
<ui:form id="form1" onSubmit="interceptFormSubmit()">
<ui:panelLayout id="transcriptPanel" panelLayout="flow" style="height: 286px; left: 48px; top: 24px; position: absolute; width: 454px;overflow: auto; border: 2px solid black;">
<ui:staticText escape="false" id="transcriptText" text="#{Page1.transcript}"/>
</ui:panelLayout>
<ui:textField columns="60" id="comment" style="left: 48px; top: 336px; position: absolute; width: 504px"/>
<ui:button action="#{Page1.send_action}" id="send" style="left: 575px; top: 336px; position: absolute; width: 70px" text="Enviar"/>
<br/>
</ui:form>
</ui:body>
</ui:html>
</ui:page>
</f:view>
</jsp:root>
Nesse exemplo, o getComment nao foi implementado. Preciso de ajuda em como captar esse valor, caso precise, no tutorial tem todo o código, anexado no primeiro post. Espero que alguém possa me ajudar, acredito que seja simples…