Portlet开发入门实例(二)
开发
Portlet规范也提供了注解的方式来开发Portlet。这样不用依赖SpringMVC Portlet等第三方框架,
也能比较方便的开发Portlet,又不用处理特别底层的实现细节。来看一个例子。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
public class AnnotatedPortlet extends GenericPortlet {
private Logger logger = LoggerFactory.getLogger(AnnotatedPortlet.class);
/**
* 进入主页面(View模式)
* @param request
* @param response
* @throws Exception
*/
@RenderMode(name = "view")
public void toIndexPage(RenderRequest request, RenderResponse response) throws Exception {
getPortletContext().
getRequestDispatcher(getInitParameter("ViewPage")).
include(request, response);
}
/**
* 保存用户名
* @param request
* @param response
*/
@ProcessAction(name = "saveUsername")
public void saveUsername(ActionRequest request, ActionResponse response) {
String userName = request.getParameter("userName");
logger.info("保存用户名[{}]", userName);
}
/**
* 保存电子邮件地址
* @param request
* @param response
*/
@ProcessAction(name = "saveEmail")
public void saveEmail(ActionRequest request, ActionResponse response) {
String email = request.getParameter("email");
logger.info("保存Email[{}]", email);
}
}
使用@RenderMode注解定义不同模式下,Portlet渲染的实现方法。@ProcessAction注解可以根据动作名称,
直接将请求交给标有注解的方法去处理,不用我们自己去实现根据注解分发请求的代码了。
附:其他代码
页面代码如下。使用Portlet规范中定义的标签产生ActionUrl。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/
jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
这是一个演示FORM表单和AJAX提交的示例程序
<script>
$(".ajaxBtn").bind("click", function () {
var email = $(".email").valueOf();
jQuery.ajax({
type: "GET",
async: true,
url: ' ',
dataType: 'json',
data: {
"email": email
},
success: function (