比如,要在某个PortletURL (例如actionURL里面传递参数),则代码如下:

 

  1. <a href=" 
  2. <portlet:actionURL name="doSomething"> 
  3. <portlet:param name="category" value="Java" /> 
  4. <portlet:param name="category" value="Portlets" /> 
  5. </portlet:actionURL>
  6. > 
  7. Do Something 
  8. </a> 

可以看到,我们加了2个<param>给<actionURL> ,每个param都包含一个name和一个value

 

于是在Portlet类的方法中,就可以处理这些参数:

因为本例中category参数名对应的值是多值,所以用getParameterValues()来解析

  1. @ProcessAction(name="doSomething"
  2. public void doingSomething(ActionRequest request, ...) { 
  3. String[] categories = request.getParameterValues("category"); 
  4. ... 

于是categories[0] 和categories[1] 可以分别代表这2个被传递的参数值

 

----

特别注意,这种<param>是唯一的传递参数到Portlet的方法,不可以用通用的?来分割url和参数列表,&来分割多个参数“名-值”对。