“Java MVC之 View层”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
客户端
第167行: 第167行:
  
 
</nowiki>
 
</nowiki>
 +
 +
===(管理端)视图层补充代码===
 +
====视图层:UserShow====
 +
<nowiki>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.nextLine();
 +
System.out.println("密码:");
 +
String pwd = sc.nextLine();
 +
 +
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.nextLine();
 +
//显示用户输入的菜单序号
 +
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();
 +
}*/
 +
 +
}
 +
</nowiki>
 +
====视图层:GoodsShow====
 +
<nowiki>package main;
 +
import java.text.MessageFormat;
 +
import java.util.ArrayList;
 +
import java.util.Scanner;
 +
 +
import entity.Goods;
 +
import entity.Tag;
 +
 +
 +
public class GoodsShow {
 +
private static Scanner sc = new Scanner(System.in);
 +
public GoodsShow(){
 +
 +
}
 +
/**
 +
* 展示所有的商品分类标签
 +
*/
 +
public void showTags() {
 +
/*
 +
* 编写输出语句
 +
*
 +
*/
 +
 +
System.out.println("**********商品分类**********\r\n"
 +
+ "1.纸质书籍, 软件编程\r\n"
 +
+ "2.纸质书籍, 软件编程\r\n"
 +
+ "3.电子产品, 学习工具\r\n"
 +
+ "4.其他标签\r\n"
 +
+ "*******************************");
 +
}
 +
 +
/**
 +
* 得到管理员为其贴的标签
 +
*/
 +
 +
public  Tag getTag() {
 +
//要求管理员选择标签
 +
System.out.println("请选择(1-4):");
 +
//获取管理员对于标签的选择
 +
String value = sc.nextLine();
 +
 +
 +
//根据用户的选择创建相应标签对象
 +
Tag t =null;
 +
try {
 +
int choise = Integer.parseInt(value);
 +
switch(choise) {
 +
case 1: t= new Tag(1, "纸质书籍", "软件编程");
 +
        break;
 +
case 2: t= new Tag(1, "纸质书籍", "文学经典");
 +
break;
 +
case 3: t=  new Tag(1, "电子产品", "学习工具");
 +
break;
 +
default:t=  new Tag(2, "其他", "其他");
 +
}//显示管理员输入的菜单序号
 +
System.out.println(MessageFormat.format("您选择的是:{0}", t.toString()));
 +
 +
} catch (NumberFormatException e) {
 +
// 转换失败,对外返回-1,表示输入无效
 +
System.out.println(e.getMessage());
 +
}
 +
return t;
 +
}
 +
 +
/**
 +
* 新商品的录入界面
 +
*/
 +
 +
public Goods inputGoods(Tag t){
 +
 +
Goods g= new Goods();
 +
System.out.println("请输入商品编号:");
 +
String id = sc.nextLine();
 +
g.setId(id);
 +
System.out.println("请输入商品名称:");
 +
String name =sc.nextLine();
 +
g.setName(name);
 +
 +
System.out.println("请输入商品数量:");
 +
String number =sc.nextLine();
 +
int n= Integer.parseInt(number);
 +
g.setNumber(n);
 +
 +
System.out.println("请输入商品价格:");
 +
String price =sc.nextLine();
 +
Float p = Float.parseFloat(price);
 +
g.setPrice(p);
 +
 +
System.out.println("商品信息录入完毕!\r\n");
 +
return g;
 +
 +
}
 +
/**
 +
* 输入商品编号的页面
 +
*/
 +
public String inputId(){
 +
System.out.println("请输入商品编号:");
 +
String id = sc.nextLine();
 +
return id;
 +
}
 +
 +
/**
 +
* 输入要修改的商品的编号和数量的页面
 +
*/
 +
public ArrayList<String> inputNum(){
 +
System.out.println("请输入商品编号:");
 +
String id = sc.nextLine();
 +
 +
System.out.println("请输入新增加的该商品的数量:");
 +
String number =sc.nextLine();
 +
 +
ArrayList<String> ginfo = new ArrayList<>();
 +
ginfo.add(id);
 +
ginfo.add(number);
 +
return ginfo;
 +
 +
}
 +
 
 +
/**
 +
* 展示所有商品
 +
*/
 +
 +
public void showGoods(ArrayList<Goods> g){
 +
System.out.println("站点商品明细:");
 +
System.out.println("编号\t商品名");
 +
System.out.println("***********************");
 +
    for (int i = 0; i < g.size(); i++) {
 +
            System.out.println(g.get(i).toString());
 +
        }
 +
 +
}
 +
 +
}
 +
</nowiki>
 +
 +
返回 [[Java程序设计]]

2018年6月17日 (日) 14:22的版本

MVC简介

MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范。它是用一种业务逻辑、数据与界面显示分离的方法来组织代码,将众多的业务逻辑聚集到一个部件里面,在需要改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器。

Java8-1.png


View层代码

  • V即View视图是指用户看到并与之交互的界面。可以是命令行,也可以是html元素组成的网页界面,或者软件的客户端界面。。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

客户端

Java2-36.png

package main;
import java.text.MessageFormat;
import java.util.*;

public class UserShow {
	private static Scanner sc = new Scanner(System.in);
	public UserShow(){
		
	}
	/**用户的登陆页面
	 * 
	 * @return ArrayList<String> 用户名和密码
	 */
	public  ArrayList<String> start(){
		
		System.out.println("********************");
		System.out.println("*****欢迎登录图书管理平台客户端*****");
		System.out.println("********************");
		System.out.println("账号:");
		String uname = sc.nextLine();
		System.out.println("密码:");
		String pwd = sc.nextLine();
		System.out.println("输入完毕!");
		
		 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.nextLine();
		//显示用户输入的菜单序号
		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();
        us.showMenu();
        us.getChoise();
        sc.close();        
	}

}

管理端

Java2-37.png

package main;

import java.text.MessageFormat;
import java.util.*;

public class UserShow {
	private static Scanner sc = new Scanner(System.in);
	public UserShow(){
		
	}
	/**用户的登陆页面
	 * 
	 * @return ArrayList<String> 用户名和密码
	 */
	public  ArrayList<String> start(){
		
		System.out.println("********************");
		System.out.println("*****欢迎登录图书电商平台管理端*****");
		System.out.println("********************");
		System.out.println("账号:");
		String uname = sc.nextLine();
		System.out.println("密码:");
		String pwd = sc.nextLine();
		
		
		 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.nextLine();
		//显示用户输入的菜单序号
		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();
        us.showMenu();
        us.getChoise();
        sc.close();
        
	}

}


(管理端)视图层补充代码

视图层:UserShow

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.nextLine();
		System.out.println("密码:");
		String pwd = sc.nextLine();		
		
		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.nextLine();
		//显示用户输入的菜单序号
		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();
	}*/

}

视图层:GoodsShow

package main;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Scanner;

import entity.Goods;
import entity.Tag;


public class GoodsShow {
	private static Scanner sc = new Scanner(System.in);
	public GoodsShow(){
		
	}
	/**
	 * 展示所有的商品分类标签
	 */
	public void showTags() {
		/*
		 * 编写输出语句
		 * 
		 */
		
		System.out.println("**********商品分类**********\r\n" 
				+ "1.纸质书籍, 软件编程\r\n" 
				+ "2.纸质书籍, 软件编程\r\n" 
				+ "3.电子产品, 学习工具\r\n" 
				+ "4.其他标签\r\n" 
				+ "*******************************");
	}

	/**
	 * 得到管理员为其贴的标签
	 */
	
	public  Tag getTag() {
		//要求管理员选择标签
		System.out.println("请选择(1-4):");
		//获取管理员对于标签的选择
		String value = sc.nextLine();
		
		
		//根据用户的选择创建相应标签对象
		Tag t =null;
		try {
			int choise = Integer.parseInt(value);
			switch(choise) 		{	
				case 1:	t= new Tag(1, "纸质书籍", "软件编程");
				        break;
				case 2: t= new Tag(1, "纸质书籍", "文学经典");
						break;
				case 3: t=  new Tag(1, "电子产品", "学习工具");
						break;
				default:t=  new Tag(2, "其他", "其他");
			}//显示管理员输入的菜单序号
			System.out.println(MessageFormat.format("您选择的是:{0}", t.toString()));
			
		} catch (NumberFormatException e) {
			// 转换失败,对外返回-1,表示输入无效
			System.out.println(e.getMessage());
		}
		return t;
	}
	 
	/**
	 * 新商品的录入界面
	 */
	
	public Goods inputGoods(Tag t){
		
		Goods g= new Goods();		
		System.out.println("请输入商品编号:");
		String id = sc.nextLine();
		g.setId(id);
		System.out.println("请输入商品名称:");
		String name =sc.nextLine();
		g.setName(name);
		
		System.out.println("请输入商品数量:");
		String number =sc.nextLine();
		int n= Integer.parseInt(number);
		g.setNumber(n);
		
		System.out.println("请输入商品价格:");
		String price =sc.nextLine();
		Float p = Float.parseFloat(price);
		g.setPrice(p);
		
		System.out.println("商品信息录入完毕!\r\n");		
		return g;
		
	}
	/**
	 * 输入商品编号的页面
	 */
	public String inputId(){
		System.out.println("请输入商品编号:");
		String id = sc.nextLine();
		return id;
	}
	
	/**
	 * 输入要修改的商品的编号和数量的页面
	 */
	public ArrayList<String> inputNum(){
		 System.out.println("请输入商品编号:");
		 String id = sc.nextLine();			
			
		 System.out.println("请输入新增加的该商品的数量:");
		 String number =sc.nextLine();
		 
		 ArrayList<String> ginfo = new ArrayList<>();
		 ginfo.add(id);
		 ginfo.add(number);
		 return ginfo;	
		
	}
  
	/**
	 * 展示所有商品
	 */
	
	public void showGoods(ArrayList<Goods> g){		
		System.out.println("站点商品明细:");
		System.out.println("编号\t商品名");
		System.out.println("***********************");
	    for (int i = 0; i < g.size(); i++) {
            System.out.println(g.get(i).toString());
         }		
		
	}
	 
}

返回 Java程序设计