“Java MVC之 View层”的版本间的差异
来自CloudWiki
第75行: | 第75行: | ||
} | } | ||
</nowiki> | </nowiki> | ||
+ | ==Controller层代码== | ||
+ | <nowiki>package main; | ||
+ | |||
+ | |||
+ | import java.text.MessageFormat; | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.Scanner; | ||
+ | import java.util.Set; | ||
+ | |||
+ | |||
+ | |||
+ | import entity.*; | ||
+ | import exception.CartException; | ||
+ | import exception.GoodsException; | ||
+ | import exception.UserException; | ||
+ | import service.*; | ||
+ | |||
+ | |||
+ | |||
+ | /*本类对应实训: */ | ||
+ | public class MainClass { | ||
+ | |||
+ | |||
+ | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | //用户登陆 | ||
+ | //如果输入正确就往下进行,否则就提示用户再次输入 | ||
+ | UserShow us= new UserShow(); | ||
+ | |||
+ | ArrayList<String> uinfo = us.start(); | ||
+ | |||
+ | GoodsShow gs = new GoodsShow(); | ||
+ | |||
+ | //BookDao service = new BookDaoImpl(); | ||
+ | while(true) { | ||
+ | //显示菜单 | ||
+ | us.showMenu(); | ||
+ | |||
+ | //获取用户的选择(应用不输入退出应用的编号则始终显示菜单) | ||
+ | |||
+ | int choise = us.getChoise(); | ||
+ | |||
+ | switch(choise) { | ||
+ | |||
+ | case 1: //商品上架 | ||
+ | //System.out.println(MessageFormat.format("您选择了{0}", "商品上架")); | ||
+ | gs.showTags();//展示所有标签 | ||
+ | Tag t= gs.getTag();//为该商品选择标签 | ||
+ | Goods g= gs.newGoods(t);//手工录入商品信息 | ||
+ | bs.addGoods(g);//添加商品 | ||
+ | break; | ||
+ | case 2: //商品下架 | ||
+ | System.out.println(MessageFormat.format("您选择了{0}", "商品下架")); | ||
+ | break; | ||
+ | case 3: //查询图书 | ||
+ | System.out.println(MessageFormat.format("您选择了{0}", "查询图书")); | ||
+ | break; | ||
+ | case 4: //根据商品编号查询图书 | ||
+ | System.out.println(MessageFormat.format("您选择了{0}", "根据商品编号查询图书")); | ||
+ | case 5://修改图书数量 | ||
+ | System.out.println(MessageFormat.format("您选择了{0}", "修改图书数量")); | ||
+ | break; | ||
+ | case 6: //退出当前应用程序 | ||
+ | System.out.println(MessageFormat.format("您选择了{0}", "退出当前应用程序")); | ||
+ | System.exit(0); | ||
+ | break; | ||
+ | default: | ||
+ | continue; | ||
+ | } | ||
+ | }</nowiki> |
2018年5月13日 (日) 14:22的版本
MVC简介
V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。
M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
View层代码
package main; import java.text.MessageFormat; import java.util.*; public class UserShow { private static Scanner sc = new Scanner(System.in); public UserShow(){ } public ArrayList<String> start(){ System.out.println("********************"); System.out.println("*****欢迎登录图书管理平台*****"); System.out.println("********************"); System.out.println("账号:"); String uname = sc.next(); System.out.println("密码:"); String pwd = sc.next(); ArrayList<String> uinfo = new ArrayList<>(); uinfo.add(uname); uinfo.add(pwd); return uinfo; } /** * 主菜单 */ public void showMenu() { /* * 编写主菜单输出语句 */ System.out.println("**********商品管理系统**********\r\n" + "1.商品上架\r\n" + "2.商品下架\r\n" + "3.查询所有商品\r\n" + "4.根据商品编号查询图书\r\n" + "5.更改商品数量\r\n" + "6.退出系统\r\n" + "*******************************"); } public int getChoise() { //要求用户选择菜单 System.out.println("请选择(1-6):"); //获取用户对于菜单的选择 String value = sc.next(); //显示用户输入的菜单序号 System.out.println(MessageFormat.format("您选择的是:{0}", value)); //未学习异常时不考虑用户的错误输入 try { return Integer.parseInt(value); } catch (NumberFormatException e) { // 转换失败,对外返回-1,表示输入无效 return -1; } } /* public static void main(String[] args) { // TODO Auto-generated method stub UserShow us = new UserShow(); us.start(); }*/ }
Controller层代码
package main; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Scanner; import java.util.Set; import entity.*; import exception.CartException; import exception.GoodsException; import exception.UserException; import service.*; /*本类对应实训: */ public class MainClass { public static void main(String[] args) { //用户登陆 //如果输入正确就往下进行,否则就提示用户再次输入 UserShow us= new UserShow(); ArrayList<String> uinfo = us.start(); GoodsShow gs = new GoodsShow(); //BookDao service = new BookDaoImpl(); while(true) { //显示菜单 us.showMenu(); //获取用户的选择(应用不输入退出应用的编号则始终显示菜单) int choise = us.getChoise(); switch(choise) { case 1: //商品上架 //System.out.println(MessageFormat.format("您选择了{0}", "商品上架")); gs.showTags();//展示所有标签 Tag t= gs.getTag();//为该商品选择标签 Goods g= gs.newGoods(t);//手工录入商品信息 bs.addGoods(g);//添加商品 break; case 2: //商品下架 System.out.println(MessageFormat.format("您选择了{0}", "商品下架")); break; case 3: //查询图书 System.out.println(MessageFormat.format("您选择了{0}", "查询图书")); break; case 4: //根据商品编号查询图书 System.out.println(MessageFormat.format("您选择了{0}", "根据商品编号查询图书")); case 5://修改图书数量 System.out.println(MessageFormat.format("您选择了{0}", "修改图书数量")); break; case 6: //退出当前应用程序 System.out.println(MessageFormat.format("您选择了{0}", "退出当前应用程序")); System.exit(0); break; default: continue; } }