Cargando

Textarea

Textarea,



19 Respuestas de expertos
Pulsa corazón para recibir avisos de nuevas Respuestas
Page 2Textarea

Publicado 10 abril 2014 - 20:33
1- Para exportar cuando te digo texto que proviene del textarea quiero decir que en esa variable vas a tener la información de ese campo y con el JFileChooser haces la exportación, el user.directorio no es más que la ruta a donde está ubicado el archivo en el cuál vas a realizar la exportación , esto debe ser fijo, a menos que también captures a donde vas a querer subirlo, pero con esto complicarías más el código y para empezar lo más recomendable es que lo dejes lo más simple posible. Ese código es netamente Java así que debes usar las directivas para utilizarlo.

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

Publicado 12 abril 2014 - 10:30
jacosta: El asunto está en integrar el código Java a JSP:

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

Publicado 15 abril 2014 - 11:33
Buenos días,

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

 

Publicado 15 abril 2014 - 15:47
Sí puedes llamarlo así pero tiene un riesgo, si en algún momento los archivos los desmontan de ese repo perderás la funcionalidad de tú página, por eso recomendaba bajartelos, pero bueno a lo que vamos. El código solicita email, teléfono y demás porqué es un ejemplo, sólo debes quitar lo que no se adapte a tu programa y poner lo que sí, vamos a hacer algo mucho más detallado:

$("#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.

Publicado 15 abril 2014 - 15:57

[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

Publicado 22 abril 2014 - 13:32
Buenos días,

[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:
-

Por favor Identificate o Registrate para poder ver este contenido


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:
-

Por favor Identificate o Registrate para poder ver este contenido


- ...
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

 

Publicado 22 abril 2014 - 17:45
Te lo han explicado bien los compis, pero yo te voy a dejar estos 2 tutoriales oficiales de Java que me ayudaron bastante en su momento, así poco a poco lo irás entendiendo.

Por favor Identificate o Registrate para poder ver este contenido



Por favor Identificate o Registrate para poder ver este contenido



Vota positivamente a los que te ayudamos! ;)

   AUTOR PREGUNTA

Publicado 22 abril 2014 - 20:37
[color=#ff0000]Fran Pazos[/color]: No puedo votar positivamente (ni negativamente) si lo que me decís no me sale, ya sea porque lo hago mal o porque me he explicado fatal y no nos hayamos entendido. Por eso ya os pido ficheros JSP,..., para probar rápidamente (aunque sea 1 ejemplo, que esté al completo).

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

 

Publicado 23 abril 2014 - 00:36
El ejemplo que te dio jacosta está bien, sin embargo te puedo recomendar algo más sencillo, tendrías que tener dos archivos:

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

Publicado 02 mayo 2014 - 11:49
Buenos días,

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


X