谁能详细点解释下下面的代码。
<portlet:renderURL var="jobProcess">
<portlet:param name="action" value="displayList" />
<portlet:param name="jobStatus" value="jobProcess" />
<portlet:param name="processFlag" value="${processFlag}" />
<portlet:param name="tableType" value="JobDisplay" />
<portlet:param name="refrashFlag" value="true" />
<portlet:param name="doFlag" value="false" />
</portlet:renderURL>理解什么程度就解释什么程度就成
谢谢啦!!!!!!!
<portlet:renderURL var="jobProcess">
<portlet:param name="action" value="displayList" />
<portlet:param name="jobStatus" value="jobProcess" />
<portlet:param name="processFlag" value="${processFlag}" />
<portlet:param name="tableType" value="JobDisplay" />
<portlet:param name="refrashFlag" value="true" />
<portlet:param name="doFlag" value="false" />
</portlet:renderURL>理解什么程度就解释什么程度就成
谢谢啦!!!!!!!
创建一个指向render (doView) 方法的连接, 连接中包含的参数分别为key-value,key-value..............
你可以理解成JSTL的c:url
只不过portlet的url分actionURL和renderURL, 一个是指向processAction方法, 一个是doView方法。
另外, portlet的URL是经过encode的。 而且理论上这种URL的参数不是全局共享的, 只有所指向的portlet可以取得。
如果你用WebSphere Portal Server, portlet应用可以使用URL resolver对一个可读的,符合get格式的URL进行读取, 这样也是很不错的。
<portlet:param name="action" value="displayList" />
<portlet:param name="jobStatus" value="jobProcess" />
<portlet:param name="processFlag" value="${processFlag}" />
<portlet:param name="tableType" value="JobDisplay" />
<portlet:param name="refrashFlag" value="true" />
<portlet:param name="doFlag" value="false" />
</portlet:renderURL>
其中processFlag是你之前定义的变量, ${processFlag}是取得该变量的值.翻译过来应该是类似(注意是类似, 不同的server有不同的实现方式, 但是道理差不多): YOUR_HOST/YOUR_APP_ROOT?portletId=CURRENT_PORTLET_NAME&action=displayList&jobStatus=jobProcess&processFlag=XXX&tableType=JobDisplay&refrashFlag=true&doFlag=false.
当然, 实际提交后显示的url是经过encode的。而在portlet的doView方法中, 使用renderRequest.getParameter("action");
renderRequest.getParameter("jobStatus");
......
等等就可以取得你设置在这里的参数.