JSPGenSDF软件开发框架(于2014年5月5号发布4.0版),简称JSPGen,专用Java Web方面平台式软件开发,整个框架也可以说是前台与后台的一个粘合剂,现在对JSPGenSDF进行开发配置,看看最基础的配置和最基本的使用方法。
JSPGenSDF学习成本不高,采用的都是Java原生态编码方式,按照官方说法:稍有Java基础知识均可做开发,这也是我打算整理此教程的根本原因(题外话:此次版本与之前版本区别很大,网上资料很少,官方资料又太过专业,希望此教程能帮助大家更好、更快熟悉这个开发框架)。
本次demo工程是一个官网提供的示例项目工程,开发方面我们采用官网提供的Eclipse3.7中文版进行Java开发以及项目管理。
一、准备工作
1、下载项目运行环境:WATMServer2.6
2、下载项目运行(开发)时所需第三方jar组件包:Jar20140505
3、下载开发环境(工具):Eclipse3.7
4、获取JSPGen示例项目:
有两种获取方式:
a、到官网在线预定,选免费型(建议选这种方式,获取都是最新版本);
b、加入官网提供的QQ交流群:12349848,在群共享里下载。
环境下载地址:
示例项目获取:
二、环境安装及项目导入
视频教程下载:
三、项目配置
A、项目结构
B、配置文件
1、jspgen-config.xml
框架所构建的平台基本信息配置:
JSPGen-让Java(Web)软件开发变得更敏捷! www.JSPGen.com http://127.0.0.1:8080/ JSPGen.com http://www.jspgen.com/ JSPGen@163.com Asia/Shanghai zh_CN UTF-8 true static/ temp/upload/ 1M temp/download/ JSPGen SMTP smtp.163.com 25 jspgen@163.com JSPGen官网 jspgen jspgen html JSPGen-让Java(Web)软件开发变得更敏捷! www.JSPGen.com
2、jspgen-action.xml
业务动作配置,为后台业务与前台显示视图进行配对服务,这里需要注意仅定义Action所在包的地址,而非具体Action文件地:
true false false gen ! /WEB-INF/template/ true ${space}/${action}_${result}.jsp error.jsp success.jsp demo.jsp demo_mail.jsp demo_upload.jsp demo_upload_list.jsp
3、i18n_zh_CN.xml
国际化资源配置,主要用于Java程序中提示语句配置:
您的IP地址是:{0} 操作失败 操作成功 上传失败 上传成功
4、log4j.properties
日志输出配置,仅修改输入文件地址即可:
# DEBUG < INFO < WARN < ERROR < FATALlog4j.rootLogger=DEBUG,console,rollingFile# -----------------------------------------------------------------------------------------log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Threshold=DEBUGlog4j.appender.console.encoding=UTF-8log4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.appender.console.layout.ConversionPattern=%-5p [%t] (%F:%L) - %m%n# -----------------------------------------------------------------------------------------log4j.appender.rollingFile=org.apache.log4j.RollingFileAppenderlog4j.appender.rollingFile.File=E:/web/log.loglog4j.appender.rollingFile.MaxFileSize=500KBlog4j.appender.rollingFile.Threshold=INFOlog4j.appender.rollingFile.encoding=UTF-8log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayoutlog4j.appender.rollingFile.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} [%-5p] (%F:%L) - %m%n
5、jspgen-parse.xml
视图(模板)解析配置,一般情况下不需要修改,保持默认即可:
<%@page import="java.util.*"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="g" uri="http://api.jspgen.com/taglib/jstl" %> ]]> UTF-8 UTF-8 UTF-8 5 zh_CN UTF-8 1 true jspgen.parse.provider.JSTLProvider jspgen.parse.provider.VelocityProvider jspgen.parse.provider.FreemarkerProvider
C、业务动作处理
1、IndexAction.java
默认视图动作:
package demo.action;import grapes.Dates;import java.io.IOException;import javax.servlet.http.HttpServletResponse;import jspgen.action.Action;/** * Action类:默认主页 * * @author JSPGen * @copyright (c) JSPGen.com * @created 2013年03月 * @email jspgen@163.com * @address www.jspgen.com */publicclass IndexAction extends Action { /** * 默认方法 */ @Override public String execute() { HttpServletResponse response = getResponse(); try { // 直接输出字符串 response.getWriter().write("Hello JSPGener!
"); response.getWriter().write("Time:"+Dates.getDateTime()); } catch (IOException e) { thrownew IllegalArgumentException(e); } return NONE; }}
2、DemoAction.java
演示动作:
package demo.action;import grapes.Dates;import grapes.Files;import grapes.Grapes;import grapes.tools.Browser;import java.io.File;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;import java.util.Map;import jspgen.action.Action; /** * Action类:演示 * * @author JSPGen * @copyright (c) JSPGen.com * @created 2013年03月 * @email jspgen@163.com * @address www.jspgen.com */publicclass DemoAction extends Action { /** Action文件常用方法对象: 获取用户端请求对象:HttpServletRequest request = getRequest(); 获取服务端响应对象:HttpServletResponse response = getResponse(); 获取用户端IP地址:String ip = Browser.getIP(getRequest()); 获取用户界面表单值:String name = getParameter("name"); // 接收表单值(表单名称:name) 获取当前系统时间戳:long dateline = Dates.getTimeMillis(); 向用户界面(模板)赋值:setAttribute("属性名称", 属性值); // 属性值可以是对象或具体数值 向用户界面直接输出:response.getWriter().write("Hello JSPGener!
这是一个 Action 演示页面…"); 向日志文件输出:logger.info("日志输出:"+ ip); */ /** * 创建 */ @Override protected String create() { // 先处理父级方法,再处理本类定义 String result = super.create(); if (NONE.equalsIgnoreCase(result) || ERROR.equalsIgnoreCase(result) ) return result; // -------------------------- // 本类定义 return SUCCESS; } /** * 销毁 */ @Override protectedvoid destroy() { // 本类定义 // -------------------------- // 先处理本类定义,再处理父级方法 super.destroy(); } // ----------------------------------------------------------- /** * 默认方法 */ @Override public String execute() { String ip = Browser.getIP(getRequest()); String youIp = getMessageValue("global.access_ip", new Object[]{ ip }); // 资源调用 // 日志输出 logger.info("日志输出:"+ youIp); // 字符串输出 String str = "Hello JSPGener!
这是一个演示Action中的默认方法… " + youIp; setAttribute("message", str); // 跳转页面(若直接输出,则跳转无用,主要与模板结合使用) // this.redirectUrl = "http://www.jspgen.com/"; return "demo"; } }
3、demo.jsp
演示视图(模板)文件:
<%@page trimDirectiveWhitespaces="true"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@taglib prefix="g" uri="http://api.jspgen.com/taglib/jstl"%>演示 ${message}
返回首页
四、项目发布
A、项目部署至Tomcat
B、进行测试
本文由 JSPGener 提供,作者:西雅