Forum Stats

  • 3,839,759 Users
  • 2,262,532 Discussions
  • 7,901,052 Comments

Discussions

field value using local variable

718984
718984 Member Posts: 116
Hola
el resultado de un programa de java lo guarde en una variable de instancia pero de que manera puedo utilizar ese valor para rellenar un campo en un formulario utilizando un jsp externo. la variable de instancia llega hasta el flujo de pantalla ya lo probe con una actividad automatica.

gracias
Tagged:

Best Answer

  • 675693
    675693 Member Posts: 160
    Answer ✓
    Hola,

    Hay dos opciones. Una es guardar ese valor dentro de algún atributo de un objeto BPM y usar esa instancia del objeto BPM para la actividad interactiva.

    La otra opción es usar la variable attributes. Si tu actividad interactiva ya tiene asociada una instancia de un objeto BPM y no quieres agregarle un campo a ese objeto puedes usar esta variable para mandarle más información al JSP.

    Los valores que pongas en esta variable se guardan como atributos del objeto HttpRequest. En tu flujo de pantallas tendrías que declarar una variable de tipo Any\[Any\], y básicamente es como un hash map con llave y valor:
    Any[Any] atributos;
    atributos["salidaProgramaJava"] = "salida programa";
    Tienes que hacer el mapeo de argumentos en la actividad interactiva y después en el JSP hay varias formas de obtener el valor, usando scripting, usando tags de jstl, etc. Por ejemplo:
    <input type="text" name="salidaProgramaJava" value="<%= request.getAttribute("salidaProgramaJava") %>" />

Answers

  • 675693
    675693 Member Posts: 160
    Answer ✓
    Hola,

    Hay dos opciones. Una es guardar ese valor dentro de algún atributo de un objeto BPM y usar esa instancia del objeto BPM para la actividad interactiva.

    La otra opción es usar la variable attributes. Si tu actividad interactiva ya tiene asociada una instancia de un objeto BPM y no quieres agregarle un campo a ese objeto puedes usar esta variable para mandarle más información al JSP.

    Los valores que pongas en esta variable se guardan como atributos del objeto HttpRequest. En tu flujo de pantallas tendrías que declarar una variable de tipo Any\[Any\], y básicamente es como un hash map con llave y valor:
    Any[Any] atributos;
    atributos["salidaProgramaJava"] = "salida programa";
    Tienes que hacer el mapeo de argumentos en la actividad interactiva y después en el JSP hay varias formas de obtener el valor, usando scripting, usando tags de jstl, etc. Por ejemplo:
    <input type="text" name="salidaProgramaJava" value="<%= request.getAttribute("salidaProgramaJava") %>" />
  • 664949
    664949 Member Posts: 56
    La puedes pasar como argumento de entrada del jsp usando la variable de instancia predefinida attributes de tipo Any[Any] y en el jsp hacer el request del parametro.

    En oracle bpm misAtributos["tuvariable"] = tuValor

    En el JSP
    String tuvariable= "";
    if(request.getAttribute("tuvariable") != null){
    tuvariable= (String)request.getAttribute("tuvariable");
    }

    La otra forma es poniendo un atributo en el objeto y mapearlo directo en el jsp con un <c:out value="${variabledeinstancia.atributo}"/>
    664949
  • 718984
    718984 Member Posts: 116
    Hola

    sabras porque el getAttribute regresa nulo???

    ya hize unos displays y el valor si se pasa a atributo pero en el field aparece "null"
  • 664949
    664949 Member Posts: 56
    atributos["salidaProgramaJava"] = "salida programa";

    el request.getAttribute tiene q ser a salidaProgramaJava tal cual pusiste la llave del hashMap. Checa tambien los argumentos de entrada, a la variable predefinida attributes debes mapear tu hashMap, utilizando el ejemplo anterior tiene q ser attributes = atributos (en la parte de argumentos de entrada al JSP)
    664949
  • 718984
    718984 Member Posts: 116
This discussion has been closed.