
User-defined JSP fragments
The user-defined JavaServer Pages (JSP) fragments are imbedded in an HTML form tag. At run time, 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>