lunes, 11 de febrero de 2013

inputFile nombres con caracteres extraños

Cuando se sube un documento y el nombre de este lleva acentos, la forma en que se logra que se vea bien por pantalla, como debe ser es:

String nombre=new String(inputFile.getFileInfo ().getFileName ().getBytes("ISO-8859-1"),"UTF-8"); 

tomado de :http://www.icesoft.org/JForum/posts/list/9501.page#sthash.qV4gFNbC.dpbs


pd.Al subir el documento al servidor, lo subirá con los caracteres especiales no con los de acentuación
String fileName = new String(inputFile.getFileInfo ().getFileName ().getBytes("ISO-8859-1"),"UTF-8"); - See more at: http://www.icesoft.org/JForum/posts/list/9501.page#sthash.qV4gFNbC.dpuf
String fileName = new String(inputFile.getFileInfo ().getFileName ().getBytes("ISO-8859-1"),"UTF-8"); - See more at: http://www.icesoft.org/JForum/posts/list/9501.page#sthash.qV4gFNbC.dpuf

martes, 23 de octubre de 2012

DataPaginador

Si tenemos un dataPaginador, y cada vez que que cambiamos de pagina guardamos su estado y queremos en algún momento que regrese a la primer pagina, usar


getDataPaginator().gotoFirstPage();


http://www.icesoft.org/JForum/posts/list/4364.page

viernes, 20 de julio de 2012

outputResource en dataTable

 Cuando varios archivos en nuestra base de datos y queremos mostrarlos en una tabla, y poder descargarlos usando outputResource, se puede ser de la siguiente manera:

 1. Se lista los documentos en la tabla. Dentro de esta tabla hay un botón btnVerDocumentoAsociado,  en el cual , cuando se presiona se envía el id del documento, que se va a mostrar.

<ice:dataTable id="dbtArchivos" var="archivo"  value="#{bean.archivosAsociados}"  rows="5">
                                                                         <ice:column style="width:105pt;">
                                       <f:facet name="header">
                                       <ice:outputText value="#{formLabels.lblArchivo}" styleClass="form_label"/>
                                       </f:facet>
                                       <ice:outputText value="#{archivo.nomDocumento}"   styleClass="form_output"/>
                                    </ice:column>
                                                                       <ice:column>
                                     <f:facet name="header">
                                       <ice:outputText value="#{formLabels.lblTipoArchivo}" styleClass="form_label"/>
                                       </f:facet>
                                        <ice:graphicImage url="../../resources/images/mimeTypes/#{archivo.icono}" style="height: 25px;"/>   
                                    </ice:column>
                                   
                                    <ice:column>
                                     <f:facet name="header">
                                       </f:facet>
                                        <ice:commandButton id="btnVerDocumentoAsociado" actionListener="#{bean.generarDocumentoAsociado}"
                                               image="../../resources/images/catalogos/buscar.png" styleClass="appImageButton" rendered="#{archivo.idDocumento > 0}">
                                            <f:attribute name="archivo" value="#{archivo}"/>
                                        </ice:commandButton>
                                    </ice:column>
                                </ice:dataTable>


<ice:outputResource id="fileDocumentoAsociado" resource="#{planEmergenciaBean.documentoAsociadoPlanEmergencia}"
                                                                   fileName="#{planEmergenciaBean.planEmergenciaDocumentoAsociado.nomArchivo}"
                                                                   mimeType="#{planEmergenciaBean.planEmergenciaDocumentoAsociado.dscTipoMime}"  type="button"
                                                                    label="Clic para Descargar" shared="false" style="display:none;"  />

2. En el backingbean se obtiene el id, del documento.
3. Luego de la base de datos se extrae el documento( que puede ser blob a byte[]);
4. Se asociada al objeto del ouputResource.
5. Por medio de javaScript se presiona el ice:outputResource, que esta en la pantalla
.java
6. Finalmente aparece la pantalla de descarga


public void generarDocumentoAsociado(ActionEvent e){
        try{
// se obtiene el id del documento
              this.DocumentoAsociado=(Documento)e.getComponent().getAttributes().get("archivo");
// se consulta a la base de datos     
  DocArchivo documento= this.DocArchivoService.consultarDocArchivo(thisDocumentoAsociado.getIdDocumento());
//se asigna al   outputResource   
  this.documentoAsociado=new ByteArrayResource(documento.getBinArchivo());
   // se acciona el ice:outputResource  
   //Forma para invocar funciones js desde el bean 
//el ice:form debe tener un id (en este se llama frm)
        JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(),
                "onload('frm:fileDocumentoAsociado');");
        } catch (Exception e1) {
           
            e1.printStackTrace();
            FacesUtils.addErrorMessage("frm:error", "No se pudo obtener el archivo asociado.");
        }
    }


Función de javaScript
.javaScript

function onload(id) {
    document.onload(document.getElementById(id).click());
    return false;
}

jueves, 3 de noviembre de 2011

outputResource

tipos de archivos

http://www.yolinux.com/TUTORIALS/LinuxTutorialMimeTypesAndApplications.html

martes, 28 de junio de 2011

Colocar estilos condicionales

  • Coloca el estilo clase deacuerdo al valor resultante del if  styleClass="#{tipo.modo_editar?'fila_seleccionada cldDescripcion':'cldDescripcion'}"
  • Coloca los estilos deacuerdo al valor resultante del if
style="#{jornada.render_fila eq 0 ? 'color: green; font-weight:bold; width: 200px; text-align: left' : 'width: 200px; text-align: left'}"

miércoles, 20 de octubre de 2010

inputRichText actualiza perfectamente

Cuando guardaba el campo vacio mantenía el valor anterior. Esta fue una solución que encontre.


.xhtml

 <ice:inputRichText id="descripcion"
                               value="#{Bean.seccion.descripcion}"
                               height="275"
                               width="700"
                               toolbar="TOOL_BAR"
                               customConfigPath="/js/config.js"
                                language="es"
                               skin="default"
                               saveOnSubmit="true"
                               partialSubmit="true"
                               rendered="true"
                               />

<!--botón de guardado-->
<ice:commandButton  value="#{label['boton.guardar']}"
                                   action="#{Bean.guardar}"
                                   id="insertarId"
                                   onclick="guardarInputRichText();"/>

.js 


  function guardarInputRichText()
{
    var all = Ice.Repository.getAll();

    for (i=0; i < all.length; i++)
    {
        var instanceName = all[i].thirdPartyObject.InstanceName;
        var editIns = FCKeditorAPI.GetInstance(instanceName);

        if (editIns != null)
        {
            var element = $(instanceName);
            element.value = editIns.GetXHTML(true);
        }
    }

    var form = Ice.util.findForm(element);
    iceSubmit(form,element,new Object());

    return false;
}

lunes, 11 de octubre de 2010

inputRichText

Aparece con los botones que le hemos indicado

<ice:inputRichText  id="descripcion"
                               value="#{bean.descripcion}"
                               cols="10" rows="3"
                               toolbar="TOOL_BAR"  customConfigPath="/js/config.js"
                               language="es"
                               skin="default"
                               saveOnSubmit="true"
                               /><!--saveOnSubmit="true" para que se actualiza el bean-->
config.js
FCKConfig.ToolbarSets["TOOL_BAR"] = [['Bold','Italic', 'Underline','-','Subscript','Superscript'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull']] ;