The user-defined JSP fragments are imbedded in an HTML form tag.
At runtime, Business Process Choreographer Explorer includes these fragments
in the rendered page.
The user-defined JSP fragment for the input message is imbedded before
the JSP fragment for the output message.
<html....>
...
<form...>
Input JSP (display task input message)
Output JSP (display task output message)
</form>
...
</html>
Because the user-defined JSP fragments are embedded in an HTML form tag,
you can add input elements. The name of the input element must match the XML
Path Language (XPath) expression of the data element. It is important to prefix
the name of the input element with the provided prefix value:
<input id="address"
type="text"
name="${prefix}/selectPromotionalGiftResponse/address"
value="${messageMap['/selectPromotionalGiftResponse/address"]}
size="60"
align="left" />
The prefix value is provided as a request attribute. The attribute ensures
that the input name is unique in the enclosing form. The prefix is generated
by Business Process Choreographer Explorer and it should not
be changed:
String prefix = (String)request.getAttribute("prefix");
The prefix element is set only if the message can be edited in the given
context. Output data can be displayed in different ways depending on the state
of the human task. For example, if the task is in the claimed state, the output
data can be modified. However, if the task is in the finished state, the data
can be displayed only. In your JSP fragment, you can test whether the prefix
element exists and render the message accordingly. The following JSTL statement
shows how you might test whether the prefix element is set.
...
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%
...
<c:choose>
<c:when test="${not empty prefix}">
<!--Read/write mode-->
</c:when>
<c:otherwise>
<!--Read-only mode-->
</c:otherwise>
</c:choose>