技术标签: springMVC
/**
* @Description:表单控制器
*
* @author [email protected]
*
*/
@Controller
@RequestMapping("/edit.htm")
@SessionAttributes("curDemo")
public class FormController {
@Resource
private Validator demoValidator;
@InitBinder
public void initBinder(WebDataBinder binder){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(format,false));
}
@ModelAttribute("birthes")
public Map<String, String> getList(){
Map<String, String> map = new HashMap<String, String>();
map.put("2011-4-28","生日1");
map.put("2011-5-2","生日2");
map.put("2011-6-28","生日3");
map.put("2011-6-2","生日4");
return map;
}
@RequestMapping(method=RequestMethod.GET)
public String setUpForm(@RequestParam(required=false)String name,ModelMap map){
Demo demo = new Demo();
if (StringUtils.isNotBlank(name)) {
System.out.println(name);
demo.setName(name);
demo.setId(1l);
}
map.put("curDemo", demo);
return "/test/editForm";
}
@RequestMapping(method=RequestMethod.POST)
public String processSubmit(@ModelAttribute("curDemo")Demo demo,BindingResult result,SessionStatus status,ModelMap map){
demoValidator.validate(demo, result);
if (result.hasErrors()) {
return "/test/editForm";
}
Demo curDemo = (Demo) map.get("curDemo");
System.out.println("curDemo------"+curDemo.getId());
System.out.println("curDemo------"+curDemo.getName());
System.out.println("curDemo------"+curDemo.getBirth());
System.out.println(demo.getId());
System.out.println(demo.getName());
System.out.println(demo.getBirth());
status.setComplete();
return "redirect:/success.htm";
}
}
@InitBinder
public void initBinder(WebDataBinder binder)
@InitBinder注解将定制的属性编辑器注册到绑定对象上。
@ModelAttribute("birthes")
public Map<String, String> getList()
把@ModelAttribute注解使用到方法上,则在表单在展示前会调用该方法,并把方法的返回值放到模型中。
@RequestMapping(method=RequestMethod.POST)
public String processSubmit(@ModelAttribute("curDemo")Demo demo,BindingResult result,SessionStatus status,ModelMap map)
把@ModelAttribute注解使用到方法参数上,可以从模型中得到命令对象,并绑定到方法上。不过该注解可以不使用。
status.setComplete();
表单执行完成,清空session里面的值。
文章浏览阅读492次。echo()函数用于输出一个或多个字符串,该函数没有返回值。需要注意的是,echo()函数实际上不是一个函数,所以不用对它使用括号。具体使用方法如:【$str = "Hello world!"; echo $str;】。函数介绍:echo() 函数输出一个或多个字符串。它没有返回值。(推荐教程:php图文教程)注意:echo() 函数实际不是一个函数,所以您不必对它使用括号。如果您想要传多于一个参..._echo0是什么意思
文章浏览阅读45次。故障诊断一直是工程领域中一个重要的研究方向。随着技术的不断发展,人们对于如何准确、快速地诊断故障提出了更高的要求。近年来,机器学习和深度学习技术的出现为故障诊断带来了新的机遇和挑战。在这篇博文中,我们将介绍一种基于金豺算法优化双向长短期记忆神经网络的Adaboost实现的故障诊断算法流程。该算法被称为GJO-biLSTM-Adaboost,它结合了金豺算法、双向长短期记忆神经网络和Adaboost算法的优势,能够在故障诊断中取得较好的效果。首先,让我们来介绍一下金豺算法。
文章浏览阅读3.3k次。文章目录NLP基础:语言模型(LM)1. 模型评估(概率估计)2. 平滑方法3. LM在拼写纠正(Spell Correction)中的应用NLP基础:语言模型(LM)语言模型(LM,Language Model)就是用来判断某个句子是否语义通顺。首先对句子进行分词,句子的概率可以表示为各个词的联合概率:P(s)=P(w1,w2,...,wn)P(s)=P(w_1,w_2,...,w_n)P(s)=P(w1,w2,...,wn)。根据Chain rule: P(A,B,C,D)=P(A)P(B|_..n..刂*lm
文章浏览阅读1.1w次,点赞3次,收藏5次。内容简述:该系统体系结构包括:视图层,应用服务层,数据处理层。系统功能包括:账户管理,转账管理,付款管理,系统管理,统计查询。本课题的目的是使银行账目管理清晰化,透明化,便于操作,易于管理,实现功能:(1)账户管理:对于未注册用户开户:进入账户申请界面,填写注册信息,经过系统审核。//用户信息:用户名。密码。姓名。身份证号。手机号。注册成功,管理员审核以后才可以登录,登录的个人信息里面系统自动..._基于ssh的网上银行
文章浏览阅读2w次,点赞2次,收藏13次。欢迎转载,转载请注明http://blog.csdn.net/yankai0219/article/details/8220621由于本人能力有限,对于这些结构体的成员变量的解释,肯定有所差池,还请大家指出,大家共同学习主要内容:0.序一、ngx_http_request_t结构体解释二、ngx_http_request_body_t结构体三ngx_http_ngx_http_headers_in_t 目录
文章浏览阅读4.6k次,点赞2次,收藏10次。<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var pretime = &q_js 把日期时间转化为几分钟前
文章浏览阅读1.7w次,点赞15次,收藏61次。Android studio 中如何生成release发行版本,并导出为apk格式 1. 打开电脑,在左下角菜单里找到命令提示符,并以管理员身份运行。 2.在命令行中输入以下命令:keytool -genkey -alias huaming -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore E:\key\key.keystore -storepass 123456 _android studio release
文章浏览阅读4.2k次,点赞5次,收藏38次。文章目录Pre-trained contextual embedding of source codeCodeBERT: A Pre-trained model for programming and natural languagesGraphCodeBert: Pre-training code representations with data flowContrastive code representation learningInferCode: Self-Supervised Learning_intellicode compose: code generation using transformer
文章浏览阅读716次。Description给出一个m∗nm*n的区域,问最多可以放多少个2∗12*1的砖Input两个整数m,n(1≤m,n≤16)m,n(1\le m,n\le 16)Output输出最多可以放多少块砖Sample Input2 4Sample Output4Solutionn,mn,m有一个为偶数,显然可以铺满,ans=nm2ans=\frac{nm}{2}n,mn,m均为奇数,显然前n−1n-1列_codeforces domino filing
文章浏览阅读1.8w次,点赞29次,收藏31次。TranslucentTB设置win11位透明任务栏时,字体位黑色,看不到的解决方法按“win+R”或者点击开始菜单,找到运行,在运行输入框里面输入“regedit”,打开注册表编辑器如下图所示:进入路径下修改:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\PersonalizeColorPrevalence # 值=0 黑色;值=1或2 白色..._win11时间颜色改成白色
文章浏览阅读2.7k次。最近用tkinter制作exe程序时,要实现程序绘图可视化功能,绘制的折线图是展示每年的各个指标,输入的年份可能不按照从小到大的顺序,但是要求绘制出来的图必须按照年份的顺序,不然岂不是很傻下面截取了核心代码来实现该功能。# 首先生成一个原始的list,用于获取横坐标及各折线的纵坐标,这里list1[0]是年份,1-5存放纵坐标list1=[[],[],[],[],[],[]]list1[0].append(x)list1[1].append(a1)list1[2].append(c1)l_python 按照横坐标排序
文章浏览阅读1.9k次。一些不大的数的集合,可以用二进制的形式来表示,注意这里的集合没有重复元素。集合的存储方法是用一串二进制的数存,第i位表示i这个数是否在集合中。设集合中最大的数不超过(1集合的运算因为是二进制表示,A|B、A&B、A^B、分别对应集合的并,交和对称差。子集 元素的输出从1到n枚举,如果在s中就输出,代码:void print_element(int n,int s){_集合中的二进制是什么