¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo abrir una nueva ventana al hacer clic en un enlace en una aplicación JSP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 28 Vistas
0
Cargando...

¡Hola a todos!

Estoy trabajando en una aplicación de página dinámica JSP donde quiero que el usuario final pueda hacer clic en un enlace y que se abra una nueva ventana que muestre una página JSP. Quiero que esta página JSP pueda leer todos los datos que tengo almacenados en memoria.

He intentado usar esto para el enlace:

<hbj:link

id="printableVersion"

onClick="PrintableVersionLinkClick"

target="_BLANK"

text="Versión Imprimible"

tooltip="Haz clic aquí para obtener una versión imprimible de la información de este proveedor."

linkDesign="REPORTING"

>

</hbj:link>

Con esto en la página dinámica:

public void doProcessAfterInput() throws PageException {

}

public void doProcessBeforeOutput() throws PageException {

this.setJspName(nextJSP);

}

public void onPrintableVersionLinkClick(Event event) throws PageException {

nextJSP = "PrintableVersion.jsp";

}

El control se pasa al archivo "PrintableVersion.jsp", sin embargo, está en la misma página donde se mostró el enlace. ¿Cómo puedo hacer que aparezca en una nueva ventana?

¡Gracias!

-Stephen Spalding

Desarrollador Web

Graybar

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola,

Como dijo Joseph, el evento onClientClick se llamará primero si se produce alguno de los eventos, entonces onClick se procesará.

Por lo tanto, al llamar a onClientClick, se abrirá el JSP en una nueva ventana, luego se llamará a tu evento onClick.

y una cosa más que debes proporcionar..

jsObjectNeeded="true" (obligatorio)

código de ejemplo para ti..:

<hbj:link

id="go"

text="Go"

jsObjectNeeded="true"

tooltip="go"

onClientClick="javascript:onSubmit();"

onClick="doStart"

design="SMALL"

disabled="false">

</hbj:link>

<Script language="javascript">

function onSubmit(){

var funcName = htmlb_formid+"_getHtmlbElementId";

func = window[funcName];

var goButton = eval(func("go"));

}

</Script>

Espero que te ayude.

Saludos,

Karthick

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Stephen,

Tienes que hacerlo así.

<hbj:link id="myLink"

text = "Enlace a SDN"

reference = "http://sdn.sap.com"

tooltip = "Este enlace te lleva a SDN"

onClick = "LinkClick"

>

<% myLink.setOnClientClick("javascript:myFunction('thisisSAPstring');");%>

</hbj:link>

Dentro de la función, proporciona el nombre del archivo con la ruta.

Saludos,

Joseph

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Ok, lo he intentado, pero sigo recibiendo un error de NoSuchMethodException. Aquí está el código que he puesto:

<hbj:link

id="printableVersion"

onClick="JavaScript:window.open('SupplierProfile.PrintableVersion');"

target="_BLANK"

text="Versión Imprimible"

tooltip="Haz clic aquí para obtener una versión imprimible de la información de este proveedor."

linkDesign="REPORTING">

</hbj:link>

El nombre del jsp que quiero que aparezca es PrintableVersion.jsp.

¿Debería crear una página dinámica y un perfil para que se llame al ejecutar el comando onClick="JavaScript:window.open('SupplierProfile.PrintableVersion');"?

Aquí está el mensaje de error que estoy recibiendo:

com.sapportals.portal.prt.component.PortalComponentException: Excepción durante PageProcessorComponent.doContent()

en com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:143)

en com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:127)

en com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:291)

en com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:198)

en com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:231)

en com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:475)

en com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:291)

en com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:198)

en com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:483)

en com.sapportals.portal.prt.portalconnection.sapnative.DelegatedPlugIn.handleRequest(DelegatedPlugIn.java:730)

en com.sapportals.portal.prt.portalconnection.sapnative.PortalPlugIn.handleRequest(PortalPlugIn.java:132)

en com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:635)

en javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

en com.inqmy.services.servlets_jsp.server.InvokerServlet.service(InvokerServlet.java:126)

en javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

en com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:147)

en com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:789)

en com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:644)

en com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:305)

en com.inqmy.services.httpserver.server.Response.handle(Response.java:166)

en com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1152)

en com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)

en com.inqmy.core.cluster.impl3.ParserRunner.run(ParserRunner.java:30)

en com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)

en java.security.AccessController.doPrivileged(Native Method)

en com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:132)

Causado por: java.lang.NoSuchMethodException

en java.lang.Class.getMethod0(Native Method)

en java.lang.Class.getMethod(Fuente Desconocida)

en com.sapportals.htmlb.page.DynPage.doProcessCurrentEvent(DynPage.java:150)

en com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:95)

en com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:139)

en com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:127)

en com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:291)

en com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:198)

en com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:231)

en com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:475)

en com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:291)

en com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:198)

en com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:483)

en com.sapportals.portal.prt.portalconnection.sapnative.DelegatedPlugIn.handleRequest(DelegatedPlugIn.java:730)

en com.sapportals.portal.prt.portalconnection.sapnative.PortalPlugIn.handleRequest(PortalPlugIn.java:132)

en com.sap

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola,

Prueba esto

<hbj:link

id="printableVersion"

onClick="JavaScript:window.open('ProjectName.JspName');"

target="_BLANK"

text="Versión imprimible"

tooltip="Haz clic aquí para obtener una versión imprimible de la información de este proveedor."

linkDesign="REPORTING"

>

</hbj:link>

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?