好文档 - 专业文书写作范文服务资料分享网站

JavaWeb程序的设计教程课后练习答案

天下 分享 时间: 加入收藏 我要投稿 点赞

Java Web程序设计

4.在FreeMarker中如何格式化数字?

答案:

在FreeMarker中可使用#{expre;format}这种形式格式化数字,其中的format使用mN或MN表示,mN代表小数部分最小N位,MN代表小数部分最大N位。

5.使用Velocity模板在控制台输出一本图书的相关信息。

实例内容:在控制台输出图书的id、图书的名称、图书的作者、图书的价格、图书的出版社、图书的 出版日期,要求使用方法赋值的方式给各个属性赋值。

答案:

(1)创建一个Java工程,名称为booksys,导入工程所需的jar文件velocity-dep-1.5.jar。

(2)在工程下创建模板文件showBookInfo.vm,该模板文件可输出图书的相关信息,模板文件的代码如下:

图书id: $book.bookid 图书名称:$book.bookname 图书作者:$book.bookauthor 图书价格:$book.bookprice 出版社: $book.bookcencern 出版日期:$book.bookdate

(3)在工程的sunyang包下创建一个类Book.java,该类为一个JavaBean,代表图书的相关信息。类Book的代码如下:

public class Book {

–16–

private int bookid; //id号 private String bookname; //书名 private String bookauthor; //作者 private double bookprice; //价格 private String bookcencern; //出版社 private String bookdate; //出版日期 public int getBookid() { }

public void setBookid(int bookid) { }

public String getBookname() { }

public void setBookname(String bookname) { }

this.bookname = bookname; return bookname; this.bookid = bookid; return bookid;

}

public String getBookauthor() { }

public void setBookauthor(String bookauthor) { }

public double getBookprice() { }

public void setBookprice(double bookprice) { }

public String getBookcencern() { }

public void setBookcencern(String bookcencern) { }

public String getBookdate() { }

public void setBookdate(String bookdate) { }

this.bookdate = bookdate; return bookdate;

this.bookcencern = bookcencern; return bookcencern; this.bookprice = bookprice; return bookprice;

this.bookauthor = bookauthor; return bookauthor;

(4)在工程的sunyang包下创建一个类BookVelocity.java,该类用来给模板提供值。类BookVelocity的代码如下:

import java.io.StringWriter;

import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; public class BookVelocity{

public static void main(String[] args) {

try { }

VelocityContext context = new VelocityContext();// 初始化Velocity上下文

Velocity.init();//初始化Velocity引擎 e.printStackTrace(); } catch (Exception e) {

.专业.专注.

Java Web程序设计

} }

Book book=new Book(); //给Book属性赋值 book.setBookid(200803);

book.setBookname(\教程\book.setBookauthor(\book.setBookprice(53.2); book.setBookcencern(\出版社\book.setBookdate(\

context.put(\将Book对象放入Velocity上下文中 StringWriter writer = new StringWriter(); try {

//把模板和上下文结合起来 }

System.out.println(writer.toString());//控制台上输出

Velocity.mergeTemplate(\e.printStackTrace(); } catch (Exception e) {

(4)运行程序,控制台上的输出结果如下图所示:

6.使用FreeMarker编写一个用户登录实例。

实例内容:当用户在登录页面中没有输入任何信息就登录时,提示用户需要输入用户名和密码方可登录,若用户输入错误的用户名或密码,提示用户输入的用户名或密码错误,若用户输入正确的用户名和密码,登录成功,页面跳转到欢迎用户登录页面。

(1)创建一个Web工程,名称为login,导入工程所需的jar文件,

(2)在WebRoot下新建一个文件夹freemarker,在freemarker创建模板文件login.ftl、welcome.ftl和error.ftl,其中login.ftl为用户登录页面,welcome.ftl为欢迎页面,error.ftl为登录失败页面。login.ftl的代码如下:

登录页面

–18–

用户登录

用户名

密码

welcome.ftl的代码如下:

欢迎页面

欢迎你:${username}

error.ftl的代码如下:

失败页面

${message}

(3)在工程的sunyang包下创建一个Servlet类LoginFreeMarker.java,该Servlet

.专业.专注.

Java Web程序设计

类用来进行用户登录判断,若用户登录成功,页面则转向欢迎页面,否则转向登录失败页面,类 LoginFreeMarker的代码如下:

import java.io.IOException; import java.io.Writer; import java.util.HashMap; import java.util.Map;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import freemarker.template.Configuration; import freemarker.template.Template;

import freemarker.template.TemplateException; public class LoginFreeMarker extends HttpServlet {

模型

–20–

private Configuration configuration; //初始化FreeMarker配置 public void init() {

configuration = new Configuration();// 创建Configuration实例

configuration.setServletContextForTemplateLoading(getServletContext(), }

protected void doGet(HttpServletRequest req, HttpServletResponse resp) }

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

Map data = new HashMap();// 建立数据String username=req.getParameter(\String password=req.getParameter(\Template t=null;

if(username.equals(\

data.put(\将用户信息放入数据模型中 t = configuration.getTemplate(\加载模板文件 //将提示信息放入数据模型中

data.put(\输入的用户名或密码错误\

t = configuration.getTemplate(\加载模板文件

throws ServletException, IOException {

doPost(req, resp);

\指定模板的位置在freemarker目录下

}else{

JavaWeb程序的设计教程课后练习答案

JavaWeb程序设计4.在FreeMarker中如何格式化数字?答案:在FreeMarker中可使用#{expre;format}这种形式格式化数字,其中的format使用mN或MN表示,mN代表小数部分最小N位,MN代表小数部分最大N位。5.使用Velocity模板在控制台输出一本图书的相关信息。实例内容:
推荐度:
点击下载文档文档为doc格式
3oc940gvm04m0xd0pw4b4c2db011w500m4z
领取福利

微信扫码领取福利

微信扫码分享