Los fragmentos JSP definidos por el usuario se han incorporado en
un código de formulario HTML.
Durante la ejecución, Business Process Choreographer Explorer incluye estos
fragmentos en la página representada.
El fragmento JSP definido por el usuario para el mensaje de entrada se
incorpora antes del fragmento JSP para el mensaje de salida.
<html....>
...
<form...>
JSP de entrada (visualiza el mensaje de entrada de tarea)
JSP de salida (visualiza el mensaje de salida de tarea)
</form>
...
</html>
Dado que los fragmentos JSP definidos por el usuario se incorporan en un
código de formulario HTML, puede añadir elementos de entrada.
El nombre del elemento de entrada debe coincidir con la expresión XPath (XML
Path Language) del elemento de datos. Es importante utilizar como prefijo el
nombre del elemento de entrada con el valor de prefijo que se proporciona:
<input id="address"
type="text"
name="${prefix}/selectPromotionalGiftResponse/address"
value="${messageMap['/selectPromotionalGiftResponse/address"]}
size="60"
align="left" />
El valor de prefijo se proporciona como atributo de petición. El atributo
asegura que el nombre de entrada será exclusivo en el formulario que lo incluye.
El prefijo lo genera Business Process Choreographer Explorer y
no debe modificarse:
String prefix = (String)request.getAttribute("prefix");
Sólo se establece el elemento de prefijo si el mensaje puede editarse en el
contexto dado.
Los datos de salida pueden visualizarse de distintas maneras, en función del
estado de la tarea humana.
Por ejemplo, si la tarea está en estado de reclamado, los datos de salida pueden
modificarse.
Sin embargo, si la tarea está en estado de finalizado, los datos sólo pueden
visualizarse.
En el fragmento JSP, puede probar si el elemento de prefijo existe y presentar
el mensaje de acuerdo a ello.
La siguiente sentencia JSTL muestra cómo puede probar si se ha establecido el
elemento de prefijo.
...
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%
...
<c:choose>
<c:when test="${not empty prefix}">
<!--Modalidad de lectura/grabación-->
</c:when>
<c:otherwise>
<!--Modalidad de sólo lectura-->
</c:otherwise>
</c:choose>