<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2291028653011809381</id><updated>2012-02-20T22:51:55.040-08:00</updated><category term='versiones'/><category term='Programación'/><category term='rollback'/><category term='JSF'/><category term='buenas prácticas'/><category term='revert'/><category term='Información'/><category term='SEAM'/><category term='Java'/><category term='subversion'/><title type='text'>Softura Solutions</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://softurasolutions-v2.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://softurasolutions-v2.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Colaborador</name><uri>http://www.blogger.com/profile/10169908753712610021</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uGldKLDtw84/TBq8YbvXLWI/AAAAAAAAAAM/X2V_-06z3rA/S220/softura03.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2291028653011809381.post-6388466175213635064</id><published>2012-02-20T22:49:00.000-08:00</published><updated>2012-02-20T22:51:55.064-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='buenas prácticas'/><title type='text'>Mejores prácticas en java</title><content type='html'>Me he encontrado esta presentación en la que mencionan buenas prácticas de programación en java. Espero les sea útil. &lt;a href="http://javafox.wordpress.com/2010/04/10/mejores-practicas-programando-en-java/"&gt;http://javafox.wordpress.com/2010/04/10/mejores-practicas-programando-en-java/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2291028653011809381-6388466175213635064?l=softurasolutions-v2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softurasolutions-v2.blogspot.com/feeds/6388466175213635064/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2291028653011809381&amp;postID=6388466175213635064&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/6388466175213635064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/6388466175213635064'/><link rel='alternate' type='text/html' href='http://softurasolutions-v2.blogspot.com/2012/02/mejores-practicas-en-java.html' title='Mejores prácticas en java'/><author><name>Colaborador</name><uri>http://www.blogger.com/profile/10169908753712610021</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uGldKLDtw84/TBq8YbvXLWI/AAAAAAAAAAM/X2V_-06z3rA/S220/softura03.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2291028653011809381.post-2793910015060839710</id><published>2010-11-26T11:07:00.001-08:00</published><updated>2010-11-26T14:36:51.013-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='versiones'/><category scheme='http://www.blogger.com/atom/ns#' term='revert'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='rollback'/><title type='text'>Rollback Subversion</title><content type='html'>Dentro de todas las actividades de un programador, existen ocasiones en  las que es necesario revertir los cambios existentes en un manejador de  versiones como Subversion.&lt;br /&gt;&lt;br /&gt;Esta acción, se logra fácilmente realizando lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Desde consola, ubicarse en la carpeta contenedora del "working copy".&lt;/li&gt;&lt;li&gt;Realizar la actualización del repositorio: svn update&lt;/li&gt;&lt;li&gt;Realizar la combinación de versiones: svn merge -r : &lt;/li&gt;&lt;li&gt;El  sistema, revisara y combinara los cambios realizados entre las  revisiones, y obtendremos un working copy con la versión que queremos  sea la nueva.&lt;/li&gt;&lt;li&gt;Ahora revisamos que los cambios se hayan realizado con el comando: svn status&lt;/li&gt;&lt;li&gt;Observamos las diferencias: svn diff&lt;/li&gt;&lt;li&gt;Y por ultimo, para que los cambios se vean reflejados en el servidor, simplemente hacemos un: svn commit&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;font style="font-style: italic;" face="courier new"&gt;&lt;/font&gt;&lt;font style="font-style: italic;" face="courier new"&gt;svn update&lt;/font&gt;&lt;br /&gt;&lt;font style="font-style: italic;" face="courier new"&gt;svn merge -r 40:35 svn://servidorsvn/proyecto/trunk&lt;/font&gt;&lt;br /&gt;&lt;font style="font-style: italic;" face="courier new"&gt;svn status&lt;/font&gt;&lt;br /&gt;&lt;font style="font-style: italic;" face="courier new"&gt;svn diff&lt;/font&gt;&lt;br /&gt;&lt;font style="font-style: italic;" face="courier new"&gt;svn commit -m "Rollback de cambios a la version 35"&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2291028653011809381-2793910015060839710?l=softurasolutions-v2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softurasolutions-v2.blogspot.com/feeds/2793910015060839710/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2291028653011809381&amp;postID=2793910015060839710&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/2793910015060839710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/2793910015060839710'/><link rel='alternate' type='text/html' href='http://softurasolutions-v2.blogspot.com/2010/11/rollback-subversion.html' title='Rollback Subversion'/><author><name>ZeTiNeB NaBeTsE</name><uri>http://www.blogger.com/profile/03939314847521071942</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_A5ZPQy9Uk9E/SzpR93wzlTI/AAAAAAAAABM/vFrqf5CFRq4/S220/4815_1054071483019_1562768373_30120775_93545_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2291028653011809381.post-1857710864838999047</id><published>2010-08-03T10:33:00.000-07:00</published><updated>2010-08-04T10:47:15.843-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='SEAM'/><title type='text'>ERROR [ColumnsHandler] FOREACH_BAD_ITEMS</title><content type='html'>&lt;div&gt;Si alguna vez tu servidor te ha arrojado el siguiente error: &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;input onclick="if(this.parentNode.getElementsByTagName('div')[0].style.display != ''){this.parentNode.getElementsByTagName('div')[0].style.display = '';this.value = 'Ocultar';}else{this.parentNode.getElementsByTagName('div')[0].style.display = 'none'; this.value = 'Mostrar ERROR';}" type="button" value="Mostrar ERROR" /&gt;&lt;br /&gt;&lt;div style="display: none;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;ERROR [ColumnsHandler] FOREACH_BAD_ITEMS&lt;br /&gt;javax.servlet.jsp.JspTagException: FOREACH_BAD_ITEMS&lt;br /&gt;at org.richfaces.iterator.SimpleForEachIterator.toForEachIterator(SimpleForEachIterator.java:135)&lt;br /&gt;at org.richfaces.iterator.SimpleForEachIterator.supportedTypeForEachIterator(SimpleForEachIterator.java:98)&lt;br /&gt;at org.richfaces.taglib.ColumnsHandlerIterationContext.setValue(ColumnsHandlerIterationContext.java:233)&lt;br /&gt;at org.richfaces.taglib.ColumnsHandler.prepare(ColumnsHandler.java:163)&lt;br /&gt;at org.richfaces.taglib.ColumnsHandler.apply(ColumnsHandler.java:186)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)&lt;br /&gt;at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)&lt;br /&gt;at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)&lt;br /&gt;at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)&lt;br /&gt;at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)&lt;br /&gt;at com.sun.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:64)&lt;br /&gt;at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:131)&lt;br /&gt;at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:337)&lt;br /&gt;at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:307)&lt;br /&gt;at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)&lt;br /&gt;at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)&lt;br /&gt;at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)&lt;br /&gt;at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)&lt;br /&gt;at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)&lt;br /&gt;at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)&lt;br /&gt;at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)&lt;br /&gt;at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)&lt;br /&gt;at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)&lt;br /&gt;at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:140)&lt;br /&gt;at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)&lt;br /&gt;at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)&lt;br /&gt;at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)&lt;br /&gt;at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)&lt;br /&gt;at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:524)&lt;br /&gt;at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:567)&lt;br /&gt;at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)&lt;br /&gt;at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)&lt;br /&gt;at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)&lt;br /&gt;at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)&lt;br /&gt;at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)&lt;br /&gt;at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)&lt;br /&gt;at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:38)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)&lt;br /&gt;at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)&lt;br /&gt;at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)&lt;br /&gt;at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)&lt;br /&gt;at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:44)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)&lt;br /&gt;at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br /&gt;at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)&lt;br /&gt;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)&lt;br /&gt;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)&lt;br /&gt;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)&lt;br /&gt;at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)&lt;br /&gt;at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)&lt;br /&gt;at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)&lt;br /&gt;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)&lt;br /&gt;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)&lt;br /&gt;at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)&lt;br /&gt;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)&lt;br /&gt;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)&lt;br /&gt;at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)&lt;br /&gt;at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)&lt;br /&gt;at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)&lt;br /&gt;at java.lang.Thread.run(Thread.java:619)&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Por lo general esta asociado a los tags: rich:columns y dataTable y no es un error que pueda ser manejado por bloques try y catch. Por ejemplo, en el siguiente código es muy frecuente:&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="csscode"&gt;&amp;lt; rich:datatable id="tblVistaPrevia" value=""&amp;gt;&lt;br /&gt;&amp;lt; rich:columns value="#{MiBackBean.columnasVistaPrevia}" var="columna"&amp;gt;&lt;br /&gt;&amp;lt; f:facet name="header"&amp;gt;#{columna}&lt;br /&gt;&amp;lt; /rich:columns&amp;gt;            &lt;br /&gt;&amp;lt; /rich:datatable&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La raíz de este error radica en que el valor que se asocia al tag rich:columns es nulo. Al querer accesar al valor e iterarlo no puede manejar un valor nulo. Por lo tanto, es necesario inicializar la colección "columnasVistaPrevia". De esta manera el error desaparecerá.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2291028653011809381-1857710864838999047?l=softurasolutions-v2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softurasolutions-v2.blogspot.com/feeds/1857710864838999047/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2291028653011809381&amp;postID=1857710864838999047&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/1857710864838999047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/1857710864838999047'/><link rel='alternate' type='text/html' href='http://softurasolutions-v2.blogspot.com/2010/08/error-columnshandler-foreachbaditems.html' title='ERROR [ColumnsHandler] FOREACH_BAD_ITEMS'/><author><name>Gilberto Mendoza</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-jZNAiwaBo7Q/AAAAAAAAAAI/AAAAAAAAB9s/k6WhSDuSvdA/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2291028653011809381.post-6984899730868866796</id><published>2010-07-28T14:36:00.000-07:00</published><updated>2010-08-03T10:52:55.177-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='JSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Programación'/><category scheme='http://www.blogger.com/atom/ns#' term='SEAM'/><title type='text'>Escribir archivos txt en seam</title><content type='html'>&lt;div class="post-header"&gt;  &lt;/div&gt;  &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"  style="font-family:arial;"&gt;Encontrándome&lt;/span&gt;&lt;span style="font-family:arial;"&gt;  con el problema de crear un archivo &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"  style="font-family:arial;"&gt;txt&lt;/span&gt;&lt;span style="font-family:arial;"&gt; en &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"  style="font-family:arial;"&gt;seam&lt;/span&gt;&lt;span style="font-family:arial;"&gt; y que este al crearse me desplegara &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"  style="font-family:arial;"&gt;automáticamente&lt;/span&gt;&lt;span style="font-family:arial;"&gt;  la pantalla de "abrir" o "guardar como" &lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"  style="font-family:arial;"&gt;encontré&lt;/span&gt;&lt;span style="font-family:arial;"&gt;  esta solución:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="csscode"&gt;&lt;br /&gt;FacesContext context = FacesContext.getCurrentInstance();&lt;br /&gt;HttpServletResponse response =(HttpServletResponse)context.getExternalContext().getResponse();&lt;br /&gt;String fileName= "nombreArchivo.txt";&lt;br /&gt;response.setContentType("text/plain");&lt;br /&gt;response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");&lt;br /&gt;PrintWriter os = null;&lt;br /&gt;String cadena="Hola Mundo!"&lt;br /&gt;try {&lt;br /&gt; os = response.getWriter();&lt;br /&gt; os.println(cadena);&lt;br /&gt; os.flush();&lt;br /&gt; os.close();&lt;br /&gt; FacesContext.getCurrentInstance().responseComplete();&lt;br /&gt;} catch (IOException e) {&lt;br /&gt; e.printStackTrace();&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Espero sirva de algo esta &lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_33"  style="font-family:arial;"&gt;solución&lt;/span&gt;&lt;span style="font-family:arial;"&gt;, a  mi si me &lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"  style="font-family:arial;"&gt;sirvió&lt;/span&gt;&lt;span style="font-family:arial;"&gt;  :D&lt;br /&gt;&lt;br /&gt;Actualización: Cambiando el setContentType y dirigiendo el ServeltOutputStream, se puede generar cualquier tipo de archivo (pdf, xls, doc, etc, etc).&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2291028653011809381-6984899730868866796?l=softurasolutions-v2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softurasolutions-v2.blogspot.com/feeds/6984899730868866796/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2291028653011809381&amp;postID=6984899730868866796&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/6984899730868866796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/6984899730868866796'/><link rel='alternate' type='text/html' href='http://softurasolutions-v2.blogspot.com/2010/07/escribir-archivos-txt-en-seam.html' title='Escribir archivos txt en seam'/><author><name>MRNA</name><uri>http://www.blogger.com/profile/03096854670960986539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2291028653011809381.post-198697536689420609</id><published>2010-05-07T11:12:00.001-07:00</published><updated>2010-05-07T11:12:52.719-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Información'/><title type='text'>Startup</title><content type='html'>Entramos de lleno en las redes sociales, espera por nuestras entradas muy pronto.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2291028653011809381-198697536689420609?l=softurasolutions-v2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://softurasolutions-v2.blogspot.com/feeds/198697536689420609/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2291028653011809381&amp;postID=198697536689420609&amp;isPopup=true' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/198697536689420609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2291028653011809381/posts/default/198697536689420609'/><link rel='alternate' type='text/html' href='http://softurasolutions-v2.blogspot.com/2010/05/startup.html' title='Startup'/><author><name>Colaborador</name><uri>http://www.blogger.com/profile/10169908753712610021</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_uGldKLDtw84/TBq8YbvXLWI/AAAAAAAAAAM/X2V_-06z3rA/S220/softura03.jpg'/></author><thr:total>0</thr:total></entry></feed>
