The NoteBook of EricKong

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks
问题:
我要在同一个portlet里面实现页面的跳转,并传递参数,该怎么做呢 
 比如说jsp文件为A.jsp和B.jsp,java文件为portlet.java, 
  
 我在A.jsp里面这样写: 
 PortletURI   url=portletResponse.createURI(); 
 url.addPatameter("index ", " "+index);(index为int型,即我要传递的参数) 
 <a href="<%=url%>">Go to B.jsp当我点击此链接后,portlet.java中的doview()被调用,而我怎样在doView()中获取这个index参数呢,然后做一些处理,转到B.jsp页面呢.

答:

portlet分响应动作和呈现两个阶段,最好不要在doview里处理逻辑。你可以<a href="<portletAPI:createURI><portletAPI:URIAction name='<%=actionString%>'/><portletAPI:URIParameter   name= "index "   value= "1 "/> </portletAPI:createURI> "> go to b.jsp </a> ,在portlet的actionPerformed函数里相应该请求,而doView()决定include哪个jsp。另外如果是弹出,可以用 <a href= " <%=response.encodeURL( "/jsp/html/b.jsp?index=1 ")%> "   target= "_blank "> open   b.jsp </a> 。
其中actionString是你自己定义的动作名称,例如 "com.directAction ",而第二种方式好像也可以直接转到b页面(去掉target,不过不推荐这样做),

public   void   actionPerformed(ActionEvent   event)   throws   PortletException{
        String   actionString      =   event.getActionString();
        PortletRequest   request   =   event.getRequest();
        if(actionString.equals(someaciton)){
                  //do   something
        }
}
posted on 2011-06-02 14:52 Eric_jiang 阅读(1892) 评论(3)  编辑  收藏 所属分类: WebShpere

Feedback

# re: Portlet里面实现页面的跳转,并传递参数[未登录] 2013-04-03 17:04 as
aaa  回复  更多评论
  

# re: Portlet里面实现页面的跳转,并传递参数 2016-08-02 13:12
;;  回复  更多评论
  

# re: Portlet里面实现页面的跳转,并传递参数 2016-08-02 13:12 ‘来了
列表  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: