开发工具与关键技术:Model View Controller

本文详细介绍了Model View Controller(MVC)设计模式的概念,探讨了其在Java开发中的核心作用。通过拆解模型、视图和控制器的职责,阐述了如何有效地组织代码,提高软件的可维护性和可扩展性。同时,结合实际案例,展示了在Web应用中实现MVC模式的具体步骤和最佳实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写自定义目录标题


开发工具与关键技术:Model View Controller
作者:陈良鑫
撰写时间:2020年8月17日


表格初始化
这是一个应用十分广泛的功能,首先,你得先下载一个jquery-3.2.1.min,
<script src="~/Plugins/jquery-3.2.1.min.js"></script>//引用到你的项目中
var layTable;//声明变量
var tabStudent;//声明变量
$(function () {
      layui.use('table', function () {
      layTable = layui.table; //这个就是声明完成
tabStudent(使用变量) = layTable(表格).render(初始化)({
   elem: '#(表格的放置,要放在哪里的(id))',
   url: "@Url.Content("~/Main/Student")",//控制器的路径,你要在那里查询出表格里的数据
   cols: [[
       { type: "numbers", title: "序号", align: "center" },//这是表格的第一行第一个格子{ field: "studentNumber",(存放数据的数据名称) title: "学生编号",(数据的总名称) align: "center"(水平居中效果) },//第二个格子
       { field: "calssName", title: "班级", align: "center" },
{ templet: studentPicture,(自定义列名称) title: "图片", align: "center", width: 140 },//自定义列
       { templet: customOperate, title: "操作", align: "center", width: 140 },
     ]],
  page: true//这是一个分页
         });
)} 
)}
function studentPicture(方法定义)(rowdata) {
var studentPicture = rowdata.studentPicture;
if (studentPicture != undefined && studentPicture != null && studentPicture != "") {
return '<button type="button" class="layui-btn layui-btn-xs" onclick="onpic(\'' + studentPicture + '\')">查看</button>';//定义的功能/效果
}else {
return "未上传";}}//

///获取选中值
(.)这是类的选择器,class内的所有属性都可以选择,方法是
class="btn btn-outline-success mr-3"这个,就可以(.btn),就可以选择到类所在的标签
(#)id选择器,与类选择器有所不同,类的属性可以相同,并且都能获取到,id它的值可以是任何英文加数字,但只能有一个,比如
<select class="form-control col-9" id="Iclass" name="classID" lay-verify="" lay-search>
<input type="text" class="form-control col-9" name="studentName" id=" Iclass ">
如果是这样的情况,id选择器只会选择到第一个id所在

///点击事件;
可以是获取到它的id或类
(“.afa”).click(function() {     
});
(“#afa”).click(function() {     
});
还有在目标设置这个onclick="sdafa(自定义命名)()"
然后function sdafa(自定义命名)(){代码}
这就是点击事件; 
控制器查询数据

string(声明一个string变量用于存放字符串类型的变量数据) dbPassword(自定义名称)= (from tabUser(自定义变量用于存放查询的数据的表格) in myModel(存放数据的地址).S_User(存放数据的数据表名称)
       where(where大概意思是条件) tabUser(查询出来的数据).userID(查询数据的一个具有唯一性的数据) == user(页面上的,从视图传过来的,所接收的数据名称).userID(与数据库内有的,具有唯一性质的数据进行比对)
       select(大致意思为查询目标) tabUser(用于存放查询数据的模板).userPassword(意思是仅需要这个属性,其它的都删除掉)).Single(查询出来的数据仅能有一条,查询结果为空或者大于一条是会报错)();
user(页面传过来的数据名称).userPassword(的其中一条) =(这个等于并不是相对的意思,在代码的语言中,它是赋值的意思,也就是把一个数据的所有信息复制一份,交给另一个数据) dbPassword(数据的名称);

if (!(取反,把结果颠倒过来,原本正确会执行的代码会变成错误才会执行,多用于string数据类型的对比尤其是是否为空)string(数据类型,字符串类型).IsNullOrEmpty(判断数据是否是null或者undefined或者””,这三种类型都是没有数据的情况,如果等于其中一种,执行代码,多数会使用!来进行取反操作,使其不等于其中一种时才执行代码)(oldPicture(你要判断的数据名称))) {(这里是要执行的代码)string(声明一个string数据类型的容器) oldFilePath(存放数据的容器的名称) =(赋值) Server.MapPath("~/Document/userPicture/")(路径) +(添加) oldPicture(判断完的数据); 
if(进行判断,结果为是的执行代码,否则执行else中的代码) (System.IO.File.Exists(判断特殊文件数据是否存在)(oldFilePath(判断的数据名))) {
System.IO.File.Delete(删除特殊文件数据)(oldFilePath(被删除的特殊文件数据)); }}

# 欢迎使用Markdown编辑器

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

## 新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
 1. **全新的界面设计** ,将会带来全新的写作体验;
 2. 在创作中心设置你喜爱的代码高亮样式,Markdown **将代码片显示选择的高亮样式** 进行展示;
 3. 增加了 **图片拖拽** 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
 4. 全新的 **KaTeX数学公式** 语法;
 5. 增加了支持**甘特图的mermaid语法[^1]** 功能;
 6. 增加了 **多屏幕编辑** Markdown文章功能;
 7. 增加了 **焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置** 等功能,功能按钮位于编辑区域与预览区域中间;
 8. 增加了 **检查列表** 功能。
 [^1]: [mermaid语法说明](https://mermaidjs.github.io/)

## 功能快捷键

撤销:<kbd>Ctrl/Command</kbd> + <kbd>Z</kbd>
重做:<kbd>Ctrl/Command</kbd> + <kbd>Y</kbd>
加粗:<kbd>Ctrl/Command</kbd> + <kbd>B</kbd>
斜体:<kbd>Ctrl/Command</kbd> + <kbd>I</kbd>
标题:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd>
无序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>U</kbd>
有序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd>
检查列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd>
插入代码:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd>
插入链接:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd>
插入图片:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>G</kbd>
查找:<kbd>Ctrl/Command</kbd> + <kbd>F</kbd>
替换:<kbd>Ctrl/Command</kbd> + <kbd>G</kbd>

## 合理的创建标题,有助于目录的生成

直接输入1次<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成1级标题。
输入2次<kbd>#</kbd>,并按下<kbd>space</kbd>后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用`TOC`语法后生成一个完美的目录。

## 如何改变文本的样式

*强调文本* _强调文本_

**加粗文本** __加粗文本__

==标记文本==

~~删除文本~~

> 引用文本

H~2~O is是液体。

2^10^ 运算结果是 1024.

## 插入链接与图片

链接: [link](https://www.youkuaiyun.com/).

图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw)

带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw =30x30)

居中的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center)

居中并且带尺寸的图片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center =30x30)

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

## 如何插入一段漂亮的代码片

去[博客设置](https://mp.youkuaiyun.com/console/configBlog)页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 `代码片`.
```javascript
// An highlighted block
var foo = 'bar';
```

## 生成一个适合你的列表

- 项目
  - 项目
    - 项目

1. 项目1
2. 项目2
3. 项目3

- [ ] 计划任务
- [x] 完成任务

## 创建一个表格
一个简单的表格是这么创建的:
项目     | Value
-------- | -----
电脑  | $1600
手机  | $12
导管  | $1

### 设定内容居中、居左、居右
使用`:---------:`居中
使用`:----------`居左
使用`----------:`居右
| 第一列       | 第二列         | 第三列        |
|:-----------:| -------------:|:-------------|
| 第一列文本居中 | 第二列文本居右  | 第三列文本居左 |

### SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
|    TYPE   |ASCII                          |HTML
|----------------|-------------------------------|-----------------------------|
|Single backticks|`'Isn't this fun?'`            |'Isn't this fun?'            |
|Quotes          |`"Isn't this fun?"`            |"Isn't this fun?"            |
|Dashes          |`-- is en-dash, --- is em-dash`|-- is en-dash, --- is em-dash|

## 创建一个自定义列表
Markdown
:  Text-to-HTML conversion tool

Authors
:  John
:  Luke

## 如何创建一个注脚

一个具有注脚的文本。[^2]

[^2]: 注脚的解释

##  注释也是必不可少的

Markdown将文本转换为 HTML。

*[HTML]:   超文本标记语言

## KaTeX数学公式

您可以使用渲染LaTeX数学表达式 [KaTeX](https://khan.github.io/KaTeX/):

Gamma公式展示 $\Gamma(n) = (n-1)!\quad\forall
n\in\mathbb N$ 是通过欧拉积分

$$
\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.
$$

> 你可以找到更多关于的信息 **LaTeX** 数学表达式[here][1].

## 新的甘特图功能,丰富你的文章

```mermaid
gantt
        dateFormat  YYYY-MM-DD
        title Adding GANTT diagram functionality to mermaid
        section 现有任务
        已完成               :done,    des1, 2014-01-06,2014-01-08
        进行中               :active,  des2, 2014-01-09, 3d
        计划一               :         des3, after des2, 5d
        计划二               :         des4, after des3, 5d
```
- 关于 **甘特图** 语法,参考 [这儿][2],

## UML 图表

可以使用UML图表进行渲染。 [Mermaid](https://mermaidjs.github.io/). 例如下面产生的一个序列图:

```mermaid
sequenceDiagram
张三 ->> 李四: 你好!李四, 最近怎么样?
李四-->>王五: 你最近怎么样,王五?
李四--x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了<br/>不适合放在一行.

李四-->>张三: 打量着王五...
张三->>王五: 很好... 王五, 你怎么样?
```

这将产生一个流程图。:

```mermaid
graph LR
A[长方形] -- 链接 --> B((圆))
A --> C(圆角长方形)
B --> D{菱形}
C --> D
```

- 关于 **Mermaid** 语法,参考 [这儿][3],

## FLowchart流程图

我们依旧会支持flowchart的流程图:
```mermaid
flowchat
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?

st->op->cond
cond(yes)->e
cond(no)->op
```

- 关于 **Flowchart流程图** 语法,参考 [这儿][4].

## 导出与导入

###  导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 **文章导出** ,生成一个.md文件或者.html文件进行本地保存。

### 导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。

 [1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
 [2]: https://mermaidjs.github.io/
 [3]: https://mermaidjs.github.io/
 [4]: http://adrai.github.io/flowchart.js/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值