JFinal 学习笔记一(config route配置,controller配置)

在Eclipse中新建一个Dynamic Web Project, 如果是用Tomcat做服务器,则在Target runtime 选择 Tomcat. 如果不用,这选择NONE.

JFinal 学习笔记一(config route配置,controller配置)_第1张图片

建好project后,把JFinal jar包拷贝到项目的lib目录下.

 

在src目录下,建立package : demon.config  在包下建一个继承JFinalConfig的自定义类

JFinal 学习笔记一(config route配置,controller配置)_第2张图片

 

再建一个package: demo.controller   在此包下建一个继承Controller的自定义类

JFinal 学习笔记一(config route配置,controller配置)_第3张图片

 

在TestConfig 中的configConstant方法和configRoute方法:

@Override
	public void configConstant(Constants me) {
		//设置开发模式,在开发模式下,JFinal会对每次请求输出报告
		//如输出本次请求的Controller,Method以及请求所携带的参数
		me.setDevMode(true);
		
		//设置默认视图类型
		me.setViewType(ViewType.JSP);
		
		//设置多个参数的分隔符号,如不设置,则默认为-
		me.setUrlParaSeparator("&");
	}

	@SuppressWarnings("unchecked")
	@Override
	public void configRoute(Routes me) {
		//配置路由,将/hello映射到TestController控制器中
		me.add("/hello",TestController.class);
		//me.add(new FirstRoute());
		//me.add(new SecondRoute());
	}

在TestController中写一个index方法

public class TestController extends Controller {
	//如果访问路经中没有指定访问的方法,则会映射到index方法中.
	public void index(){
		this.renderText("hello my JFinal");
		//this.render("/hello.jsp");
	}
	
	//如果访问路经中指定了方法的方法名是sayHello,则映射到此方法中.
	public void sayHello(){
		
		this.renderText("hello");
		/**
		getPara 方法传入的参数为字符串类型,则是读取url中?后面所带的参数
		例如http://localhost:8080/JFinal/hello/sayHello?id=1&name=abc
		多个参数需用&符号分隔.
		*/
		String id = this.getPara("id");//读取路经中参数名为id的值
		System.out.println(id);
		String name = this.getPara("name");//读取路经中参数名为name的值
		System.out.println(name);
		
		/**
		getPara方法传入的参数为int类型,则是读取url中action名/后面的参数
		多个参数默认是以-做为分隔符,亦可自己定义分隔符,定义方法参考JFinalConfig的
		configConstant方法中
		*/
		System.out.println(this.getPara(0));//读取路经中的第一个参数并打印
		System.out.println(this.getPara(1));//读取路经中的第二个参数并打印
	}

}

在web.xml中做以下配置:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>TestJFinal</display-name>
  <filter>
	<filter-name>jfinal</filter-name>
	<filter-class>com.jfinal.core.JFinalFilter</filter-class>
	<init-param>
	<param-name>configClass</param-name>
	<param-value>demo.config.TestConfig</param-value>
	</init-param>
  </filter>
	<filter-mapping>
	<filter-name>jfinal</filter-name>
	<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

注意: 在param-value中配置的必须为TestConfig所在的路经配置

 

都完成后,运行此project.看看结果

 

JFinal 学习笔记一(config route配置,controller配置)_第4张图片

 

控制台:可看出访问的Controller及访问的方法.因http://localhost:8080/JFinal/hello没有指定方法名,因此会自动映射到index方法.

JFinal 学习笔记一(config route配置,controller配置)_第5张图片

 

现在指定一个方法和参数http://localhost:8080/JFinal/hello/sayHello/123&456可看到访问的是sayHello. 参数是123&456. 在方法中分别拿到第一个参数和第二参数并输出在控制台.

JFinal 学习笔记一(config route配置,controller配置)_第6张图片

你可能感兴趣的:(框架,jFinal,jFinal,jfinal教程,JFinal入门)