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

news2024/11/18 4:51:43

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()方法总结

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于spring boot+vue的校园新闻管理系统

随着网络不断的普及发展&#xff0c;校园新闻网站依靠网络技术的支持得到了快速的发展&#xff0c; 首先要从用户的实际需求出发&#xff0c; 通过了解用户的需求开发出具有针对性的首页、校园 新闻、 论坛交流、 留言反馈、 个人中心、 后台管理功能&#xff0c; 利用目前网络…

MotionEditor_ 通过内容感知扩散编辑视频运动

图1. MotionEditor&#xff1a;一种基于扩散的视频编辑方法&#xff0c;旨在将参考视频的运动转移到源视频中。 摘要 现有的基于扩散的视频编辑模型在随时间编辑源视频的属性方面取得了显著进展&#xff0c;但在修改运动信息的同时保持原始主角的外观和背景方面存在困难。为…

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

物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流&#xff0c;而不是指具体的传输媒体。4 个特性&#xff1a; 机械特性&#xff1a;指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等。 电气特性&#xff1a;指明在接口电缆的各条线上出现…

gitlabcicd-k8s部署gitlab

一.安装准备环境 存储使用nfs挂载持久化 k8s环境 helm安装 建议helm 3 二.部署gitlab-deploy.yaml nfs的ip是192.168.110.190 挂载目录是/data/data 注意所需要的目录需要创建&#xff1a;/data/data/gitlab/config &#xff0c;/data/data/gitlab/logs &#xff0c;/dat…

HarmonyOS(二十三)——HTTP请求实战一个新闻列表

在前一篇文章&#xff0c;我们已经知道如何实现一个http请求的完整流程&#xff0c;今天就用官方列子实战一个简单的新闻列表。进一步掌握ArkTS的声明式开发范式&#xff0c;数据请求&#xff0c;常用系统组件以及touch事件的使用。 主要包含以下功能&#xff1a; 数据请求。…

47.各种类型的线程池

线程池继承体系 Executor(interface)->ExecutorService(interface)->ThreadPoolExecutor(class) Executors.newFixedThreadPool 核心线程数最大线程数&#xff08;没有救急线程被创建&#xff09;&#xff0c;所以也无需超时时间阻塞队列LinkedBlockingQueue,可以放任意…

探索营销系统业务架构的设计与应用

随着市场竞争的日益激烈和消费者需求的不断变化&#xff0c;营销系统作为企业营销管理的重要组成部分&#xff0c;扮演着至关重要的角色。本文将深入探讨营销系统业务架构的设计与应用&#xff0c;从客户关系管理、营销活动管理、数据分析和智能化服务等方面进行全面解析&#…

AWS EMR Serverless

AWS概述 EMR Serverless 简介 在AWS概述一文中简单介绍过AWS EMR, 它是AWS提供的云端大数据平台。借助EMR可以设置集群以便在几分钟内使用大数据框架处理和分析数据。创建集群可参考官方文档&#xff1a;Amazon EMR 入门。但集群创建之后需要一直运行&#xff0c;用户需要管理…

vuInhub靶场实战系列--prime:1

免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。 目录 免责声明前言一、环境配置1.1 靶场信息1.2 靶场配置 二、信息收集2.1 主机发现2.1.1 netdiscover2.1.2 nmap主机扫描2.1.3 arp-scan主机扫描 2.2 端口扫描…

RPA机器人的技术挑战与解决方案

RPA在企业转型过程中彰显出巨大的潜力&#xff0c;每年为企业节省大量人力以及运营成本&#xff0c;从而实现企业经营的降本提质增效。但要成功部署和实施RPA&#xff0c;需要专业人员、流程和技术的精心组合。企业管理者需要根据自己的实际需求&#xff0c;选择一个稳定可靠、…

Hadoop3:MapReduce之InputFormat数据输入过程整体概览(0)

一、MapReduce中数据流向 二、MapTask并行度 1、原理概览 数据块&#xff1a;Block是HDFS物理上把数据分成一块一块。数据块是HDFS存储数据单位。 数据切片&#xff1a;数据切片只是在逻辑上对输入进行分片&#xff0c;并不会在磁盘上将其切分成片进行存储。数据切片是MapRed…

Python私教张大鹏 Vue3 整合 Ant Design Vue

创建项目 npm create vite启动项目 cd vue3_antdesignvue pnpm i pnpm dev使用webstorm打开项目 配置启动 整合AntDesignVue 安装依赖&#xff1a; pnpm install ant-design-vue pnpm install unplugin-vue-components -D修改 vite.config.js import {defineConfig} from …

HarmonyOS鸿蒙-DevEco Studio工具

一、官网下载DevEco Studio工具地址 文章内容: 1、下载工具 2、运行项目 3、安装启动器 https://developer.harmonyos.com/cn/develop/deveco-studio/https://developer.harmonyos.com/cn/develop/deveco-studio/ 下载不同平台工具目录 : 二、 安装DevEco Studio工具 安装的配置…

Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解

前言 在Web开发中&#xff0c;Three.js是一个极为强大的库&#xff0c;它让开发者能够轻松地在浏览器中创建和展示3D图形。随着3D技术在网页设计、游戏开发、数据可视化等领域的广泛应用&#xff0c;用户与3D场景的交互变得日益重要。而要实现这种交互&#xff0c;一个核心的技…

PID算法在电机速度控制上的应用

目录 概述 1 系统硬件框架 1.1 框架介绍 1.2 硬件实物图 2 STM32Cub生成工程 2.1 软件版本信息 2.2 配置参数 ​编辑2.3 生成项目 3 PID算法实现 3.1 概念 3.2 代码实现 4 其他功能实现 4.1 设置电机速度 4.2 PID算法控制电机 4.3 功能函数的调用 5 测试 5.1 …

Dell戴尔XPS 16 9640 Intel酷睿Ultra9处理器笔记本电脑原装出厂Windows11系统包,恢复原厂开箱状态oem预装系统

下载链接&#xff1a;https://pan.baidu.com/s/1j_sc8FW5x-ZreNrqvRhjmg?pwd5gk6 提取码&#xff1a;5gk6 戴尔原装系统自带网卡、显卡、声卡、蓝牙等所有硬件驱动、出厂主题壁纸、系统属性专属联机支持标志、系统属性专属LOGO标志、Office办公软件、MyDell、迈克菲等预装软…

Renesas MCU之SCI_SPI接口驱动LCD

目录 概述 1 软硬件介绍 1.1 软件版本信息 1.2 ST7796-LCD 1.3 MCU IO与LCD PIN对应关系 2 FSP配置项目 2.1 配置项目参数 2.2 生成项目框架 3 代码实现 3.1 SPI的库函数 3.1.1 R_SCI_SPI_Open() 3.1.2 R_SCI_SPI_Read() 3.1.3 R_SCI_SPI_Write() 3.2 应用函数…

地理信息系统(ArcGIS)在水文水资源、水环境中的实践技术应用及案例分析教程

原文链接&#xff1a;地理信息系统&#xff08;ArcGIS&#xff09;在水文水资源、水环境中的实践技术应用及案例分析教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247606047&idx5&sn8c9701518e13b85d8429186fcfe98ad8&chksmfa821ef8cdf597ee7a8a1…

容器环境中安全性的演变

近年来&#xff0c;容器已成为现代IT基础设施中不可或缺的一部分。它们在部署应用程序时提供了极大的灵活性和效率。 然而&#xff0c;随着容器化的普及&#xff0c;保护这些环境的需求也随之增长。容器安全被定义为在容器化环境中防范威胁并确保符合安全标准。它已成为解决使…

Android音频API介绍

Android系统提供了四个层面的音频API&#xff1a; Java层MediaRecorder&MediaPlayer系列&#xff1b;Java层AudioTrack&AudioRecorder系列&#xff1b;Jni层opensles&#xff1b;JNI层AAudio&#xff08;Android O引入&#xff09; 下面分别介绍这些API的使用及特点。…