Java MVC之 View层

来自CloudWiki
Cloud17讨论 | 贡献2018年5月13日 (日) 14:18的版本
跳转至: 导航搜索

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();
	}*/

}