Textarea
#11
2- Para importar, Swing es la librería gráfica para Java y te recomiendo que lo uses, porque? Porqué como comentas que eres muy novato en JSP primero deberías incursionar con esto y utilizar meramente Java. Te recomiendo que le des un vistazo a los tutoriales de Java que tenemos acá:
Aquí los tienes todos hasta la fecha: http://www.solvetic....y/24-webmaster/
Y este, te servirá para ponerte en contexto: http://www.solvetic....-java-dialogos/
Saludos.
AUTOR PREGUNTA #12
Si el usuario clica en el botón (Importar) entonces HACER ALGO EN JAVA.
Si el usuario clica en el botón (Exportar) entonces HACER ALGO EN JAVA.
Si el usuario clica en el botón (...) entonces script y HACER ALGO EN JAVA (por ejemplo).
O cómo recoger el contenido del textarea en Java:
String Texto = "El texto que proviene del textarea";
Si Java es el arroz (ingrediente conocido), swing y awt es bomba y basmati (casi conocido, pero con algunas diferencias en las cocciones).
George10: ¿En vez de instalar JQuery puedo hacer 'src=http:\\...', llamándolo?
Probaré de crear otra textarea que vaya copiando el contenido de la textarea madre, mientras no se pulse el botón Submit, y copiar el contenido a la madre 1 vez hecho dicho submit.
Seguiré peleándome e informando. Gracias por vuestras respuestas,
PepBR
AUTOR PREGUNTA #13
Vuelvo por aquí...
[color=#ff0000]jacosta[/color]: Sigo sin ver esto:
String Texto = "El texto que proviene del textarea"; ... Guardx.write(Texto);
Quiero realizar la importación a mi textarea si se clica 1 botón 'Importar' y textarea es null o 0. En caso contrario mejor deshabilitar el botón (si es posible) que lanzar 1 alerta. Para exportar (botón 'Exportar a TXT') es al revés (hacerlo si textarea está llena). Por lo que veo, tengo que meter Java dentro del form, y aquí es donde me pierdo (imagina que en el textarea hay 2 líneas (algo1 algo2) y quiero importarlas a 1 fichero TXT al hacer clic en 'Exportar a TXT').
[color=#ff0000]George10[/color]: No me has dicho nada aún (09 abril 2014 - 13:07 y 12 abril 2014 - 10:30). :-( Como te decía el 12 de abril hoy he llamado a JQuery sin instalarlo:
<script src="http://code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"> </script>
Y ya me pierdo. :-(
Necesito que 1 textarea no pierda la información al hacer submit. ¿Por qué tu código solicita e-mail, telf...?
[color=#ff0000]innovehost[/color]: Al hacer 'action="guardar.php"' pierdo de vista mi jsp, yendo a guardar.php (página en blanco), que contiene tu código php
A tod@s: Necesito ver ficheros JSP con el Java, PHP (dentro del mismo JSP o en 1 fichero PHP), JQuery,... Necesito comprobar rápidamente si lo que me habéis dicho es lo que quiero hacer o no. Si pudiérais colgar ficheros JSP os lo agradezco ya por anticipado (cuerpo_NickSolvetic.jsp). Llevo más de 2 semanas con esto, y no hay manera (al hacer submit con 2 textareas (mismo contenido) las 2 se borran (mi gozo en 1 pozo)).
Espero vuestras respuestas (y fichero/s :-P). Gracias,
PepBR
#14
$("#enviar").click(function(){ var datos_textarea= $("#datos_textarea").val(); $.ajax({ //Comunicación jQuery hacia JSP type: "POST", url: "lamismapag.jsp", data: "datos_textarea="+datos_textarea, success: function(msg){ $("span#ap").text(msg); }, error: function(xml,msg){ $("span#ap").text(" Error"); } }); }); });
#enviar es el id del botón de tú página, #datos_textarea es el id del textearea y en tú página puedes recibir ese valor con POST luego de la llamada, esto debes condicionarlo, ya que cuando entra en la misma la primera vez ese valor no lo tendrás.
#15
[color=#282828][font=helvetica, arial, sans-serif]Por lo que veo, tengo que meter Java dentro del form,[/font][/color]
Cómo te comentaba en una oportunidad estás mezclando los conceptos, JSP es lenguaje que corre del lado del servidor, imagínate que es lo que haría PHP, no tienes que meter Java dentro del form, solo debes desde el action del formulario llamar a una página JSP y en esa página JSP utilizar el código que te envíe qué es Java e iría dentro de las directivas, más claro sería así para que captures la info del textarea:
String Texto =request.getParameter("valor_textarea");
AUTOR PREGUNTA #16
[color=#ff0000]George10[/color]: Estoy siguiendo tus pasos y al no condicionarlo aún siempre vuelve al que había inicialmente. ¿Cómo tendría que condicionarlo? Tengo:
cuerpo.jsp
prueba (id_textarea)
opciones (id_submit)
$("#opcions").click(function(){ var datos_textarea= $("#prova").val(); $.ajax({ //Comunicación jQuery hacia JSP type: "POST", url: "cos.jsp", data: "datos_textarea="+datos_textarea, success: function(msg){ $("span#ap").text(msg); }, error: function(xml,msg){ $("span#ap").text(" Error"); } }); });
[color=#ff0000]jacosta[/color]: Uno de los problemas que tengo es que al hacer 1 acción:
-
voy a otro fichero JSP (exportar.jsp):
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <%@ page import="javax.swing.*" %> <%@ page import="java.awt.*" %> <%@ page import="java.io.*" %> <% String Texto = request.getParameter("prova"); try{ //System.getProperty("user.dir") Abre el JFileChooser donde esta el ejecutable JFileChooser fc=new JFileChooser(System.getProperty("user.dir"));%> fc.showSaveDialog(this); //Muestra el diálogo <% File Guardar =fc.getSelectedFile(); if(Guardar !=null){ FileWriter Guardx=new FileWriter(Guardar); Guardx.write(Texto); Guardx.close(); //Cierra el fichero } } catch(IOException ioe){ System.out.println(ioe); //Muestra por consola los errores } %> </body> </html>
fc.showSaveDialog(this); //Muestra el diálogo
No tendría que ir a exportar.jsp, y tendría que aparecer 1 ventana para indicarle el nombre del fichero a guardar:
-
- ...
Y en caso de que ya existiera preguntar si reemplazarlo o no.
Hay algo que falla y no lo veo.
Gracias anticipadas. Mejor si me adjuntáis ficheros (JSP,...),
PepBR
#17
Vota positivamente a los que te ayudamos!
AUTOR PREGUNTA #18
Sólo me queda ir probando, pero si no me funcionan las pruebas toca decirlo, para aprender y ver en dóndo me estoy equivocando,
PepBR
#19
1- El archivo con el que vas a abrir y realizar la exportación.
2- El archivo donde vas a procesar el request, sería el código que te dio jacosta.
El archivo 1 va a hacer submit al archivo 2.
Entonces el archivo 1 sería el siguiente:
<HTML> <BODY> <FORM METHOD='POST' ACTION="exportar.jsp"> <TEXTAREA name="textoexportar"></TEXTAREA> <P><INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML>
El archivo 2 sería el suministrado por jacosta donde en el getParameter sería el texto de tu textarea:
String Texto = request.getParameter("textoexportar");
Avisame como te fue.
AUTOR PREGUNTA #20
He resuelto ya el tema de Exportar (de textarea a fichero). Me queda el tema del Importar, partiendo de 1 StringBuffer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>cuerpo2.jsp</title> <script type="text/javascript"> // Fuente: http://pallieter.org/Projects/insertTab/ function insertTab(o, e) { var kC = e.keyCode ? e.keyCode : e.charCode ? e.charCode : e.which; if (kC == 9 && !e.shiftKey && !e.ctrlKey && !e.altKey) { var oS = o.scrollTop; if (o.setSelectionRange) { var sS = o.selectionstart; var sE = o.selectionend; o.value = o.value.substring(0, sS) + "\t" + o.value.substr(sE); o.setSelectionRange(sS + 1, sS + 1); o.focus(); } else if (o.createTextRange) { document.selection.createRange().text = "\t"; e.returnValue = false; } o.scrollTop = oS; if (e.preventDefault) { e.preventDefault(); } return false; } return true; } function verificar(){ var campoarea = document.getElementById('textarea1').value.length; // out.println("TextArea: "+campoarea); if (campoarea==null){} if(campoarea==0){ document.getElementById("Cero").style.visibility = "visible"; document.getElementById("Opcion1").style.visibility = "hidden"; document.getElementById("Opcion2").style.visibility = "hidden"; } if (campoarea>0){ document.getElementById("Cero").style.visibility = "hidden"; document.getElementById("Opcion1").style.visibility = "visible"; document.getElementById("Opcion2").style.visibility = "visible"; } } </script> </head> <body> <FORM ACTION="#" METHOD="POST"> <label> <TEXTAREA NAME="textarea1" ROWS="15" COLS="1025" id="textarea1" onkeyup="verificar()" onkeydown="insertTab(this,event); verificar()">Escribe</TEXTAREA> </label> <br> <label> <INPUT TYPE="submit" VALUE="Cero" name="0" id="Cero" style="visibility:hidden"> </label> <label> <INPUT TYPE="submit" VALUE="Opción 1" name="1" id="Opcion1" style="visibility:hidden"> </label> <label> <INPUT TYPE="submit" VALUE="Opción 2" name="2" id="Opcion2" style="visibility:hidden"> </label> <!-- TYPE="button" --!> <!-- onclick="verificar();submit();" style="visibility:hidden" --> </FORM> <% try{ // Fuente: http://olgacarreras.blogspot.com.es/2007/02/formulario-con-varios-botones.html if(request.getParameter("0")!=null){ out.println("CERO"); // Submit en el botón 0 (name). }else if(request.getParameter("1")!=null){ out.println("OPCIÓN 1"); // Submit en el botón 1 (name). }else if(request.getParameter("2")!=null){ out.println("OPCIÓN 2"); // Submit en el botón 2 (name). } // Cualquier botón recoge algo del textarea (no null): StringBuffer text = new StringBuffer(request.getParameter("textarea1")); // Se almacena en pru.txt: // Fuente: http://www.coderanch.com/t/391312/java/java/StringBuffer-File %> <%@ page import="java.io.*" %> <%BufferedWriter fichero= new BufferedWriter(new FileWriter("pru.txt")); fichero.write(text.toString()); fichero.flush(); fichero.close(); // Sale por el JSP el contenido del textarea: int loc = (new String(text)).indexOf('\n'); while(loc > 0){ text.replace(loc, loc+1, "<BR>"); loc = (new String(text)).indexOf('\n'); } out.println("<pre>"+text+"</pre>"); }catch (Exception e){}%> </body> </html>
Inicialmente el textarea lleva escrito 'Escribe' (podría ser otro texto o ninguno). Como os decía, tengo 1 StringBuffer al hacer clic en cualquier botón. Desearía recogerlo y meterlo en el textarea que ya tengo (de donde salió), para así no empezar a escribir desde cero (submit).
Aunque ya no me urge tanto (proyecto PFC pospuesto hasta septiembre) me gustaría tener esto resuelto (mejor si es sin JQuery). Gracias anticipadas,
PepBR