JFinal学习06 控制器——getPara()接收数据

JFinal学习06 控制器——getPara()接收数据

视频来源https://www.bilibili.com/video/BV1Bt411H7J9/?spm_id_from=333.337.search-card.all.click

文章目录

  • JFinal学习06 控制器——getPara()接收数据
    • `零、JFinal数据提交的三种方式`
    • `一、get提交`
    • `二、post提交`
    • `三、url参数化提交`
    • `四、getPara()方法总结`

零、JFinal数据提交的三种方式

  • 普通的http get提交
  • 普通的http post提交
  • JFinal独有的url参数化提交

一、get提交

在路由之后加 ? ,然后通过键值对的方式提交参数,多个参数通过 & 连接 \color {blue} {在路由之后加?,然后通过键值对的方式提交参数,多个参数通过\&连接} 在路由之后加?,然后通过键值对的方式提交参数,多个参数通过&连接

h t t p : / / 127.0.0.1 : 8080 / ? k e y 1 = v 1 & k e y 2 = v 2 \color {orange} {http://127.0.0.1:8080/?key1=v1 \&key2=v2} http://127.0.0.1:8080/?key1=v1&key2=v2

在Controller中获取get方式提交的参数:
getPara()

Eclipse console输出:
在这里插入图片描述

插曲:
如果在DemoConfig类中设置 me.setReportAfterInvocation(false);
则可以先输出JFinal action report,后输出Java程序的输出结果:如下
在这里插入图片描述


二、post提交

通过表单 f o r m 方式提交参数,通过 g e t P a r a ( " k e y " ) 获取参数值 \color {blue} {通过表单form方式提交参数,通过getPara("key")获取参数值} 通过表单form方式提交参数,通过getPara("key")获取参数值

    	<div class="form-group">
		  <input type="text" class="form-control" name="title" placeholder="标题">
		</div>
  • 上例中,可以通过getPara("titel")获得该控件提交的参数值
  • POST方式只能通过表单实现

准备工作

在WebRoot下创建一个index2.html页面:
在IndexController.java中向前端render它:

index2.html

<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8'>
  <meta http-equiv='X-UA-Compatible' content='IE=edge'>
  <title>getPara接收数据演示 POST</title>
  <meta name='viewport' content='width=device-width, initial-scale=1'>
</head>
<body>
  <form action="/" method="post">
    <div class="box-body">
    	<div class="form-group">
		  <input type="text" class="form-control" name="title" placeholder="标题">
		</div>
		
		<div class="form-group">
		  <input type="text" class="form-control" name="subtitle" placeholder="副标题">
		</div>
		
		<div>
		  <textarea class="textarea" name="content" placeholder="文章内容" ></textarea>
		</div>
	  
    </div>
    <div class="box-footer clearfix">
    	<button type="submit" class="pull-right btn btn-default" id="sendEmail">保存</button>
    </div>
  </form>
</body>
</html>

在这里插入图片描述

IndexController.java

获取参数值: \color {blue} {获取参数值:} 获取参数值:

	public void index() {	
		// POST 表单 提交参数
		String titie = getPara("title", "这是设置的默认标题");
		String subtitle = getPara("subtitle");
		String content = getPara("content");
		
		System.out.println("titie == " + titie);
		System.out.println("subtitle == " + subtitle);
		System.out.println("content == " + content);


//		render("/index.html");
		render("/index2.html");

	}

验证

  • 输入参数,点击“保存”提交参数:

在这里插入图片描述

  • 可以 设置默认的参数返回值
String titie = getPara("title", "这是设置的默认标题");

如果前端未提交任何参数,则title的参数值为自己设置的默认参数值,其他两个参数为null:


三、url参数化提交

在 u r l 里的最后一个 a c t i o n 后 / 后的参数,可以指定分隔符,默认分隔符为 − \color {blue} {在url里的最后一个action后/后的参数,可以指定分隔符,默认分隔符为-} url里的最后一个action/后的参数,可以指定分隔符,默认分隔符为

h t t p : / / 127.0.0.1 : 8080 / j p r e s s − a a a − 张三 \color {orange} {http://127.0.0.1:8080/jpress-aaa-张三} http://127.0.0.1:8080/jpressaaa张三

  • 一共3个参数
  • 可以通过getPara() 无形参 ===》 获取所有的参数 e.g.:jpress-aaa-张三
  • 可以通过getPara(1) int类型的形参 ===》 获取指定下标处的参数 e.g.:aaa

在IndexController.java类中定义jpress()方法:

	public void jpress() {
		System.out.println("xxxxx");
		renderText("jpress() function is called.");
	}

路由 http://127.0.0.1:8080/jpress 则调用jpress()方法:

在这里插入图片描述

如果在Controller中定义jpress()方法,则默认会调用index()方法:

此时jpress为参数
在这里插入图片描述


可以接收多个参数:用分隔符隔开

在后台获得前端 u r l 中的参数 : \color {blue} {在后台获得前端url中的参数:} 在后台获得前端url中的参数:

	public void index() {	
	
		String para = getPara();
		System.out.println("para == " + para);
		
		// 默认URL参数分隔符是 -
		System.out.println("para1 == " + getPara(0));
		System.out.println("para2 == " + getPara(1));
		System.out.println("para3 == " + getPara(2));
		System.out.println("para3 == " + URLDecoder.decode("%E5%BC%A0%E4%B8%89"));
			
		render("/index.html");
	}

在这里插入图片描述


四、getPara()方法总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683244.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【全开源】Shopro社区团购(小程序版)

邻里间的购物新选择 基于Fastadmin后端管理系统Uniapp客户端&#xff08;仅支持微信小程序&#xff09;开发&#xff0c;生鲜果蔬社区团购的不二之选、快速搭建社区团购平台、让你的产品走进上千个社区。线上团购线下自提&#xff0c;玩转社区消费新模式提供专业、优质的社区团…

计算机网络 期末复习(谢希仁版本)第5章

**屏蔽作用&#xff1a;**运输层向高层用户屏蔽了下面网络核心的细节&#xff08;如网络拓扑、所采用的路由选择协议等&#xff09;&#xff0c;使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 10. 端口用一个 16 位端口号进行标志&#xff0c;允许…

Linux—小小内核升级

本篇主要是讲述下关于内核的一些基本常识&#xff0c;并记录下内核升级和编译的过程&#xff0c;若有遗漏/有误之处&#xff0c;望各位大佬们指出。 Ⅰ 基本内核常识 常见内核安装包 内核(kernel)&#xff1a;这是Linux操作系统的核心部分&#xff0c;它负责管理系统的硬件和…

信号(上)

本节目标&#xff1a; 1. 掌握Linux信号的基本概念 2. 掌握信号产生的一般方式 3. 理解信号递达和阻塞的概念&#xff0c;原理。 4. 掌握信号捕捉的一般方式。 5. 重新了解可重入函数的概念。 6. 了解竞态条件的情景和处理方式 7. 了解SIGCHLD信号&#xff0c; 重新编写信号处理…

实现k8s网络互通

前言 不管是docker还是k8s都会在物理机组件虚拟局域网&#xff0c;只不过是它们实现的目标不同。 docker&#xff1a;针对同一个物理机&#xff08;宿主机&#xff09; k8s&#xff1a;针对的是多台物理机&#xff08;宿主机&#xff09; Docker 虚拟局域网 K8S虚拟局域网 …

2024-06-05-记一次cnvd渗透

前言&#xff1a;挖src挖郁闷了&#xff0c;闲来无事选择挖一个cnvd来练练手&#xff0c;本次的漏洞都没啥难度&#xff0c;企查查资产过了5000万 说一下cnvd证书的下放标准 对于中危及中危以上通用型漏洞&#xff08;CVSS2.0基准评分超过4.0分&#xff09;&#xff0c;以及涉…

Wireshark抓包工具使用 项目实战

Wireshark 是一个开源的网络协议分析器&#xff0c;它可以让你捕获和分析网络数据包&#xff0c;帮助你诊断网络问题、监控网络流量、分析协议和进行安全审计。以下是一些基本的 Wireshark 用法&#xff1a; 捕获数据包&#xff1a; 打开 Wireshark&#xff0c;选择要捕获数据包…

13- Redis 中的 压缩列表 数据结构

压缩列表的最大特点&#xff0c;就是它被设计成一种内存紧凑型的数据结构&#xff0c;占用 一块连续的内存空间&#xff0c;不仅可以利用 CPU 缓存&#xff0c;而且会针对不同长度的数据&#xff0c;进行相应编码&#xff0c;这种方法可以有效的节省内存开销。 但是&#xff0…

C#-foreach循环语句

foreach循环语句 语法&#xff1a; foreach(数据类型 变量名 in 数组或集合对象) { 语句块; } foreach 会在每次循环的过程中&#xff0c;依次从数组或集合对象中取出一个新的元素放foreach( )里定义的变量中&#xff0c;直到所有元素都成功取出后退出循环。 foreach循环…

Mysql root用户远程连接失败解决方案

最近&#xff0c;踩坑云服务器通过root用户远程连接Mysql数据库失败&#xff0c;Mysql 版本为 5.7.44&#xff0c;原因如下&#xff0c;因为root用户权限过大&#xff0c;可能会有风险操作&#xff0c;可以新增其他用户来解决此问题&#xff0c;如果一定要用root用户&#xff0…

C# Onnx E2Pose人体关键点检测

C# Onnx E2Pose人体关键点检测 目录 效果 模型信息 项目 代码 下载 效果 模型信息 Inputs ------------------------- name&#xff1a;inputimg tensor&#xff1a;Float[1, 3, 512, 512] --------------------------------------------------------------- Outputs ---…

【python010】获取任意多边形区域内的经纬度点并可视化

1.熟悉、梳理、总结项目研发实战中的Python开发日常使用中的问题、知识点等&#xff0c;如获取任意多边形区域内的经纬度点并可视化&#xff0c;找了N篇文章没发现有效的解决方案。 2.欢迎点赞、关注、批评、指正&#xff0c;互三走起来&#xff0c;小手动起来&#xff01; 3.欢…

Leetcode刷题(四十)

Pow(x, n)&#xff08;Medium&#xff09; 实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c;xn &#xff09;。示例 1&#xff1a;输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000 示例 2&#xff1a;输入&#xff1a;x 2.1…

微服务Day7学习-数据聚合、同步、补全

文章目录 数据聚合聚合分类 自动补全DSL实现Bucket聚合DSL实现Metrics聚合RestAPI实现聚合多条件聚合对接前端接口拼音分词器自定义分词器自动补全查询实现酒店搜索框自动补全 数据同步数据同步思路分析利用mq实现mysql与elasticsearch数据同步 集群介绍搭建ES集群 数据聚合 聚…

电拖基础JIAOXUE

1.最简单的TT马达&#xff0c;实际就是一个减速电机&#xff1a; 减速箱的内部包含了一组齿轮。在实际的使用中&#xff0c;绝大部分的电动机都要和减速箱配合使用&#xff0c;因为一般的电机转速都在每分钟几千转甚至1万转以上&#xff0c;而在实际的使用中并不需要这么快的转…

RN:Error: /xxx/android/gradlew exited with non-zero code: 1

问题 执行 yarn android 报错&#xff1a; 解决 这个大概率是缓存问题&#xff0c;我说一下我的解决思路 1、yarn doctor 2、根据黄色字体提示&#xff0c;说我包版本不对&#xff08;但是这个是警告应该没事&#xff0c;但是我还是装了&#xff09; npx expo install --…

Lodop 实现局域网打印

文章目录 前言一、Lodop支持打印的方式lodop 打印方式一般有3种&#xff1a;本地打印局域网集中打印广域网AO打印 二、集成步骤查看lodop 插件的服务端口&#xff1a;查看ip后端提供接口返回ip&#xff0c;前端动态获取最后步骤 前言 有时候会根据不同的ip来获取资源文件&…

计算机网络 期末复习(谢希仁版本)第6章

DNS采用UDP。 DHCP 给运行服务器软件、且位置固定的计算机指派一个永久地址&#xff0c;给运行客户端软件的计算机分配一个临时地址

文件无法在当前环境下执行在 x86_64 系统上运行 ARM 可执行文件

目录 遇到的问题是由于"..."文件无法在当前环境下执行。这个错误通常是因为二进制文件的格式不兼容&#xff0c;可能是因为它是为不同的架构编译的。例如&#xff0c;如果二进制文件是为 x86 架构编译的&#xff0c;但你在 ARM 设备上尝试运行它&#xff0c;就会出现…

语言模型测试系列【9】

语言模型 文心一言讯飞星火通义千问2.5豆包360智脑百小应腾讯元宝KimiC知道 好长时间没有做语言模型的测试了&#xff0c;一方面是没有好的素材&#xff0c;各模型都在升级优化&#xff0c;而且频率很高&#xff1b;另一方面近期在阅读和学习其他的知识&#xff0c;所以更的也…