⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counterportlet.java

📁 JetSpeed-2技术资料 JetSpeed-2技术资料 JetSpeed-2技术资料 JetSpeed-2技术资料 JetSpeed-2技术资料
💻 JAVA
字号:
package com.jdlssoft.portal.counter.portlets;

import java.io.IOException;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletConfig;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import com.jdlssoft.portal.counter.service.CounterService;
import com.jdlssoft.portal.counter.service.CounterServiceLocator;

public class CounterPortlet extends GenericPortlet{
	public static final String JSP_FOLDER    = "/jsp/";    // JSP folder name
	public static final String JSP_COUNTER_VIEW="counter/counterView";
	public static final String JSP_COUNTER_EDITOR="counter/counterEditor";
	
	public static final String COUNTER_REFRESH="COUNTER_REFRESH";
	public static final String COUNTER_FORM="COUNTER_FORM";
	public static final String UPDATE_COUNTER_ACTION="UPDATE_COUNTER_ACTION";
	/************* ACTION END	****************/
	
	public static CounterService counterService=CounterServiceLocator.getCounterService();
	
	/**
	 * 在这里可以加载portlet配置文件里面的初始化数据
	 * WEB-INF/portlet.xml
	 */
	public void init(PortletConfig config) throws PortletException{
		super.init(config);
	}
	/**
	 * 重载doView方法,写实际逻辑。
	 * 不能从ActionRequest获得 jsp页面提交的数据,要通过processAction转化以下才可以获得,
	 * 但是可以直接把数据传到jsp层
	 */
	public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
		// Set the MIME type for the render response
		response.setContentType(request.getResponseContentType());
		//Invoke the JSP to render
	    PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(getJspFilePath(request, JSP_COUNTER_VIEW));
		rd.include(request,response);
	}
	
	/**
	 * Portlet 的编辑模式,在里面可以处理一些需要展示的内容处理
	 */
	public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException {
//		 Set the MIME type for the render response
		response.setContentType(request.getResponseContentType());

		request.setAttribute("operResult", request.getParameter("operResult"));
		//Invoke the JSP to render
	    PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(getJspFilePath(request, JSP_COUNTER_EDITOR));
		rd.include(request,response);
	}
	
	/**
	 * 该方法会在执行doview方法之前执行,可以从ActionRequest获得 jsp页面提交的数据,
	 * 但是不能把数据传到jsp层
	 */
	public void processAction(ActionRequest request, ActionResponse response) throws PortletException, java.io.IOException {
		String actionName = request.getParameter("actionName");
		String operResult=null;
		if(actionName!=null && actionName.equalsIgnoreCase(UPDATE_COUNTER_ACTION)){
			operResult=null;
			String counter=request.getParameter("counter");
			int c=0;
			try{
				c=Integer.parseInt(counter);
			}catch(NumberFormatException e){}
			boolean flag=counterService.updateCounter(c);
			if(flag)
				operResult="更新成功";
			else
				operResult="更新失败";
		}
		response.setRenderParameter("operResult", operResult);
		response.setRenderParameter("actionName", actionName);
	}
	


	/**
	 * Returns JSP file path.
	 * 
	 * @param request Render request
	 * @param jspFile JSP file name
	 * @return JSP file path
	 */
	private static String getJspFilePath(RenderRequest request, String jspFile) {
		String markup = request.getProperty("np.markup");
		if( markup == null )
			markup = getMarkup(request.getResponseContentType());
		return JSP_FOLDER+markup+"/"+jspFile+"."+getJspExtension(markup);
	}
	/**
	 * Convert MIME type to markup name.
	 * 
	 * @param contentType MIME type
	 * @return Markup name
	 */
	private static String getMarkup(String contentType) {
		if( "text/vnd.wap.wml".equals(contentType) )
			return "wml";
		return "html";
	}
	/**
	 * Returns the file extension for the JSP file
	 * 
	 * @param markupName Markup name
	 * @return JSP extension
	 */
	private static String getJspExtension(String markupName) {
		return "jsp";
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -