Try using divelement.style.display="none"

Regards,

Richard


On Wed, Dec 10, 2008 at 6:27 AM, Andreas Niemeyer
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> It works.
>
> The only problem is the left space from the invisible <div> tag.
>
>
> Regards,
> Andreas
>
>
>
> <div id="error_messages" style="color: darkred;visibility: visible" >
>        <t:messages id="error_messages" showDetail="true" showSummary="false"
> />
> </div>
>
> ....
> <h:commandButton id="reportbutton" onclick="clearMessages('error_messages')"
> value="#{msgs.CreateReportButton}" action="#{pdfreport.createPDFReport}" />
>
>
>
> JavaScript:
>
> function clearMessages(aMessagesID) {
>        var divelement = document.getElementById(aMessagesID);
>        divelement.style.visibility='hidden';
> }
>
>
> Andreas Niemeyer schrieb:
>>
>> Hello Helmut,
>>
>> Good proposal to handle this about JavaScript before send the form. I'll
>> give it a trial.
>>
>> Kind regards,
>> Andreas
>>
>>
>> Helmut Swaczinna schrieb:
>>>
>>> Hello Andreas,
>>>
>>> I don't think Tobago or JSF can clear the messages for you. But you can
>>> clear the messages on the page  yourself  with
>>> some javascript before the action for the PDF generation gets submitted.
>>>
>>> For example:
>>>
>>> ...
>>> action="controller.createPDF"
>>> onclick="clearMessagesAndSubmit('@autoId')"
>>> ...
>>>
>>> function clearMessagesAndSubmit(actionId) {
>>>  // Find messages and clear them
>>>  Var message = document.getElenemtById('page:message');
>>>  message.value = "";
>>>  Tobago.submitAction(actionId, false);
>>> }
>>>
>>> I haven't tried this, but I think it should work.
>>>
>>> Regards
>>> Helmut
>>>
>>> ----- Original Message ----- From: "Andreas Niemeyer"
>>> <[EMAIL PROTECTED]>
>>> To: <[email protected]>
>>> Sent: Wednesday, December 10, 2008 11:11 AM
>>> Subject: Re: JSF servlet request in action method or navigation rule to
>>> get binary servlet data?
>>>
>>>
>>>> Hello Bernd,
>>>>
>>>> Yes, I did.
>>>>
>>>> There seems to be no way to get previous messages away due I don't get
>>>> the page reloaded.
>>>>
>>>> I'll open a new thread and try to describe in more detail the
>>>> "requirements".
>>>>
>>>>
>>>> Thank you.
>>>>
>>>> Regards,
>>>> Andreas
>>>>
>>>>
>>>>
>>>> Bernd Bohmann schrieb:
>>>>>
>>>>> Hello Andreas,
>>>>>
>>>>> are you calling FacesContext.getCurrentInstance().responseComplete() ?
>>>>>
>>>>> Regards
>>>>>
>>>>> Bernd
>>>>>
>>>>>
>>>>> Andreas Niemeyer schrieb:
>>>>>>
>>>>>> Hello Bernd,
>>>>>>
>>>>>> Thank you for response.
>>>>>>
>>>>>> Unfortunatly I have to use this servlet as a pdf dynamic provider.
>>>>>>
>>>>>> The redirect works fine so far, but another thing happened.
>>>>>>
>>>>>> Due some validation rules in the same method, a previous custom
>>>>>> FacesMessage stays displayed and only after a page reload it goes
>>>>>> away.
>>>>>>
>>>>>> Have someone an idea?
>>>>>>
>>>>>> Regards,
>>>>>> Andreas
>>>>>>
>>>>>>
>>>>>>
>>>>>> Bernd Bohmann schrieb:
>>>>>>>
>>>>>>> Hello Andreas,
>>>>>>>
>>>>>>> maybe this help:
>>>>>>>
>>>>>>> http://wiki.apache.org/myfaces/Sending_Files
>>>>>>>
>>>>>>> You don't need a Servlet for sending binary data from jsf.
>>>>>>>
>>>>>>> The magic is the responseComplete() method.
>>>>>>>
>>>>>>> Please look at the Section
>>>>>>>
>>>>>>> 2.1.3 Faces Request Generates Non-Faces Response
>>>>>>>
>>>>>>> of the jsf 1.1 spec.
>>>>>>>
>>>>>>> Regards
>>>>>>>
>>>>>>> Bernd
>>>>>>>
>>>>>>> Andreas Niemeyer schrieb:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I would like to send form data from a JSF page for a servlet request
>>>>>>>> with a navigation rule.
>>>>>>>>
>>>>>>>> The servlet returns a content type of "application/pdf" and is
>>>>>>>> running
>>>>>>>> in a context path.
>>>>>>>>
>>>>>>>> If I call it from within a action method, it works with following
>>>>>>>> code:
>>>>>>>>
>>>>>>>> public String createPDFReport() {
>>>>>>>> ...
>>>>>>>>  FacesContext context = FacesContext.getCurrentInstance();
>>>>>>>>  ExternalContext ext = context.getExternalContext();
>>>>>>>>
>>>>>>>>  String vServletPath = "/context_path/pdf-test";
>>>>>>>>  ext.redirect(ext.encodeResourceURL(vServletPath));
>>>>>>>>
>>>>>>>>  ...
>>>>>>>>  return "call_servlet";
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> My context is a portal, I'm using the JSF portal bridge.
>>>>>>>>
>>>>>>>>
>>>>>>>> The web.xml looks like:
>>>>>>>>
>>>>>>>> ...
>>>>>>>> <servlet>
>>>>>>>>  <servlet-name>pdf-test</servlet-name>
>>>>>>>> <servlet-class>com.xxx.PDFTest</servlet-class>
>>>>>>>>  <load-on-startup>20</load-on-startup>
>>>>>>>> </servlet>    ...
>>>>>>>>
>>>>>>>> I would like to avoid to send a redirect and would prefer to create
>>>>>>>> a
>>>>>>>> navigation rule in the faces-config, but it fails with an exception
>>>>>>>> arised from my GenericPortlet
>>>>>>>>
>>>>>>>> ...
>>>>>>>>
>>>>>>>> public class JSFGenericPortlet
>>>>>>>>    extends org.apache.myfaces.portlet.MyFacesGenericPortlet {
>>>>>>>> ...
>>>>>>>> public void render(RenderRequest req, RenderResponse res)
>>>>>>>>        throws IOException, PortletException {
>>>>>>>> ...
>>>>>>>> super.render(req, res);
>>>>>>>> }
>>>>>>>> ...
>>>>>>>> }
>>>>>>>>
>>>>>>>> javax.portlet.PortletException: String index out of range: -1
>>>>>>>>        at
>>>>>>>>
>>>>>>>> org.apache.myfaces.portlet.MyFacesGenericPortlet.handleExceptionFromLifecycle(MyFacesGenericPortlet.java:310)
>>>>>>>>
>>>>>>>>
>>>>>>>>        at
>>>>>>>>
>>>>>>>> org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesGenericPortlet.java:502)
>>>>>>>>
>>>>>>>>
>>>>>>>>        at
>>>>>>>>
>>>>>>>> org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGenericPortlet.java:323)
>>>>>>>>
>>>>>>>>
>>>>>>>>        at
>>>>>>>> javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
>>>>>>>>        at
>>>>>>>> javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
>>>>>>>>        at
>>>>>>>>
>>>>>>>> com.gutzmann.portlets.JSFGenericPortlet.render(JSFGenericPortlet.java:73)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> The navigation rule looks like:
>>>>>>>>
>>>>>>>>    <navigation-rule>
>>>>>>>>        <from-view-id>/pages/view.xhtml</from-view-id>
>>>>>>>>        <navigation-case>
>>>>>>>>            <from-outcome>call_servlet</from-outcome>
>>>>>>>>            <to-view-id>/pdf-test/</to-view-id>
>>>>>>>>        </navigation-case>
>>>>>>>>    </navigation-rule>
>>>>>>>>
>>>>>>>> I tried also `<to-view-id>/context_path/pdf-test/</to-view-id>' -
>>>>>>>> same
>>>>>>>> exception.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> What is the "best practice" to do such redirect / servlet calls?
>>>>>>>>
>>>>>>>>
>>>>>>>> If request parameter should be changed, how would it work in the
>>>>>>>> action
>>>>>>>> method?
>>>>>>>>
>>>>>>>>
>>>>>>>> Many thanks fro some help!
>>>>>>>>
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Andreas
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Reply via email to