Workshop8.1提供了进行数据绑定的netui标签,可以方便的实现一些数据的传递。下面就自己开发JPF的经验,和大家分享。
&& Action From:
继承FormData的内部静态类,如果使用的是简单类型,就是一个javaBean,
当表单 Bean 包含复杂数据类型时,必须将 reset 方法添加到表单 Bean 定义,以确保复杂类的实例可用于存放用户在表单中输入、随后提交(发送)的值。
指向jsp中的netui:form标签所使用的Bean,本请求范围内有效。当页面流中需要传递ActionFrom的实例时,要用:return new Forward("success", form),在下面的jsp中要用request来取得被传递的ActionFrom的实例。
NetUI标签可读写。
&& PageFlow:
继承PageFlowController的一个类。
指向当前的页面流,通过他可以访问JPF控制类的变量,可在程序里赋值,页面流的范围内有效。所以可以用在pageFlow里声明的变量,来传递对象实例,例如,当使用DBControl进行数据提取时,我们在DBControl的jcx中定义了javabean,在pageFlow中就可以用这个javabean进行数据绑定进行传递,配合其他的netui标签,如<netui-data:repeater>可以显示对象的各个属性。
NetUI标签只读
&&GlobalApp:
指向global.app对象,可以被Web应用的任何位置被访问即在 Web 应用程序的用户(浏览器)会话中的所有页面流中都可用。默认情况下,JPF 文件中包括此类的实例,但是引用将被注释掉。
它是整个会话传参的最佳选择,此上下文中的数据是为当前使用 Web 应用程序的每个用户维护的,文件位于 WEB-INF/src/global 中。
NetUI标签只读。
&& URL:
指向当前jsp的URL,通过它可以绑定URL属性。NetUI标签只读。使用
<netui:anchor action="User"> User
<netui:parameter name="User_ID" value="1"></netui:parameter>
</netui:anchor>进行参数的赋值,它会跟随在url的后面,
下一页面可以通过
<netui:content value="{url.User_ID }"></netui:content>
来取得传递的参数。
url 数据绑定上下文仅绑定到查询参数的第一个值,多个参数时应考虑使用request或session的属性来进行数据传递。
&&Request:
指向当前jsp装载过程中的请求,通过它可以引用调用动作方法中定义的变量,NetUI标签只读。通过在操作方法中使用 getRequest的setAttribute 方法,可以进行属性的设置。
在jsp中传参时可以使用
<netui:parameter name="selectserno" value="{container.item.serno}"/>
来进行,在接下来的action中可以通过
getRequest().getParameter("selectserno");来获取该参数。
&&Session:
指向jsp会话对象,javax.servlet.http.HttpSession。
可以使用 /WEB-INF/web.xml 文件的 <session-timeout> 元素设置会话超时值。<session-timeout> 元素是 <session-config> 元素的一部分,它设置此 Web 应用程序中的会话过期之前空闲的分钟数。在此元素中设置的值可以覆盖在 WebLogic 特定的部署描述符 weblogic.xml 中 <session-descriptor> 元素的 TimeoutSecs 特性中设置的值,当然你也可以在程序中进行设置,但要注意两者时间单位的差别。
&&Container:
指向复杂数据,包括自己的javaBean
常用在<netui-data:repeater>等标签中,如果使用的是javabean类,此时workshop可以取出此类实例的各个属性,其value值用类似{container.item.name}的方式来表示。
&&Application:
指向应用对象, javax.servlet.ServletContext。
通过this.getServlet().getServletContext().getInitParameter("root");
可以取得web.xml中
<context-param>
<param-name>root</param-name>
<param-value>f:\\ftp_server\\temp\\</param-value>
</context-param>
中的值。
&&PageContext:
PageContext通过使用getAttribute(String)和setAttribute(String,Object)来操作名称/值对,注意使用时要进行强制转换。
pageContext 引用 JSP 中 PageContext 的 page-scope 特性映射。值是只读的。在 WebLogic Workshop 中,当使用 netui-data:getData 标记将 pageContext 放在 Scriptlet 中后,pageContext 还用于访问 Scriptlet 中的 actionForm、container、globalApp 和 pageFlow 数据。
&&Bundle:
在消息资源文件中定义的属性。bundle 上下文引用在消息资源文件中定义的属性,消息资源文件允许您通过 JSP 页面中的“非硬编码”文本标签实现国际化的 Web 应用程序。。它依靠在 . properties 文件中定义的属性, @jpf:message-resources标记来实现的。
NetUI标签值是只读的
&&pageInput
在页面流控制器类中定义的成员变量。通过在 JSP 中使用 <netui-data:declarePageInput> 标记声明了页面输入后,可以使用 pageInput 上下文显示在页面流控制器类中定义的成员变量的值。
NetUI标签值是只读的。
如果在开发中需要扩展jsp标签,请参考:
Workshop Help-- WebLogic Workshop 扩展开发工具包--开发标记库扩展