Jfinal(二)--------Controller層get 、post接收引數
一.上一講收尾(暫時不描述,貼程式碼)
1.controller HelloController.java
package com.kjst.sjzx.base.controller; import com.jfinal.core.Controller; public class HelloController extends Controller{ /** * 顯示helloworld檢視 */ public void index() { String msg = "Hello World Jfinal!!!"; setAttr("helloworld", msg); renderFreeMarker("demo.html");//渲染跳轉頁面 } }
2.html demo.html
<!DOCTYPE html> <html> <head> <title>demo.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta name="description" content="this is my page"> <meta name="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <body> <!-- Freemarker需要安全輸出,頁面如果存在NULL 會報錯 --> <h1>${(helloworld)!''}</h1> <br> </body> </html>
二.關於controller的post接收引數
1.專案圖
2.post提交
(1)controller層
要點:獲取post提交的引數的方法
引數型別:
post請求路徑:http://localhost:8080/jsjzx/param/post
1.String username = getPara("username");//這是比較常用的接收方式,直接通過名稱獲取
package com.kjst.sjzx.base.controller; import com.jfinal.core.Controller; public class GetParameterController extends Controller { public void index() { renderFreeMarker("param.html"); } public void post() { String username = getPara("username");//這種接收方式比較常用 String password = getPara("password"); System.out.println(username + "\n密碼:" + password); setAttr("msg", "返回成功"); renderFreeMarker("param.html"); } }
(2)param.html
<!DOCTYPE html>
<html>
<head>
<title>Jfinal 接收引數</title>
</head>
<body>
<!-- Freemarker需要安全輸出,頁面如果存在NULL 會報錯 -->
<h1>${(msg)!''}</h1> <br>
<h1>post提交引數</h1>
<form action="${contextPath}/param/post" method="post">
<p>使用者名稱:<input type="text" name="username"></p>
<p>使用者密碼:<input type="password" name="password"></p>
<p><input type="submit" value="提交"></p>
</form>
<hr>
<h1>get提交引數</h1>
<p><a href="${contextPath}/param/get1/1">get1 一個引數</a></p>
<p><a href="${contextPath}/param/get2/v1-v2-v3">get2 多個引數</a></p>
</body>
</html>
2.get提交
1.controller
要點:獲取get提交的引數的方法
引數型別:
get1請求路徑:http://localhost:8080/jsjzx/param/get1/11
get2請求路徑:http://localhost:8080/jsjzx/param/get2/v1-v2-v3
1.String id = getPara(1);//通過索引值接受get請求的方式
2.Integer id = getParaToInt(0);//通過索引值接受get請求的方式並轉變為int 型別
package com.kjst.sjzx.base.controller;
import com.jfinal.core.Controller;
public class GetParameterController extends Controller {
public void index() {
renderFreeMarker("param.html");
}
/**
* v1-v2-v3
*/
public void get2() {
String id = getPara(1);//通過索引值接受get請求的方式
System.out.println(id);
String id1 = getPara(2);//通過索引值接受get請求的方式
System.out.println(id1);
String paramString = getPara();
System.out.println(paramString);
setAttr("msg", "get成功");
renderFreeMarker("param.html");
}
public void get1() {
Integer id = getParaToInt(0);//通過索引值接受get請求的方式
System.out.println(id);
setAttr("msg", "get成功");
renderFreeMarker("param.html");
}
public void post() {
String username = getPara("username");//這種接收方式比較常用
String password = getPara("password");
System.out.println(username + "\n密碼:" + password);
setAttr("msg", "返回成功");
renderFreeMarker("param.html");
}
}
2.param.html 如上
三.專案地址
https://pan.baidu.com/s/1mh8k0RY#list/path=%2F
相關推薦
Jfinal(二)--------Controller層get 、post接收引數
一.上一講收尾(暫時不描述,貼程式碼) 1.controller HelloController.java package com.kjst.sjzx.base.controller; im
小白日記8:kali滲透測試之主動資訊收集(二)三層發現:ping、traceroute、scapy、nmap、fping、Hping
三層發現 三層協議有:IP以及ICMP協議(internet管理協議).icmp的作用是用來實現intenet管理的,進行路徑的發現,網路通訊情況,或者目標主機的狀態;在三層發現中主要使用icmp協
Java多線程(二) —— 線程安全、線程同步、線程間通信(含面試題集)
err 線程等待 共同點 -c java多線 能夠 空間 而不是 不一致 一、線程安全 多個線程在執行同一段代碼的時候,每次的執行結果和單線程執行的結果都是一樣的,不存在執行結果的二義性,就可以稱作是線程安全的。 講到線程安全問題,其實是指多線程環境下對共享資源的訪問可能會
TCP/IP(二)物理層詳解
常用 轉換 單模光纖 接受 統計 概述 因特網 統一 iso 前言 在前面說了一下,計算機網絡的大概內容,沒有去深刻的去了解它,這篇文章給大家分享一下物理層! 我們知道ISO模型是七層,TCP/IP模型是五層,而tcp/ip協議只將七層概括為4層,我們將學習其中
Pyhton編程(二)之變量、用戶輸入及條件語句
退出 import turn 進行 不能 exec 條件 求和 變量 一:變量 變量定義的規則 1)只能由數字、字母、下劃線組成(不能以數字開頭) 2)不能使用關鍵字作為變量名 [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘
ElasticSearch筆記整理(二):CURL操作、ES插件、集群安裝與核心概念
大數據 ElasticSearch ELK [TOC] CURL操作 CURL簡介 curl是利用URL語法在命令行方式下工作的開源文件傳輸工具,使用curl可以簡單實現常見的get/post請求。簡單的認為是可以在命令行下面訪問url的一個工具。在centos的默認庫裏面是有curl工具的,如
PHP面試(二):程序設計、框架基礎知識、算法與數據結構、高並發解決方案類
表設計 工作原理 結構 單一入口 php 能力 高並發解決方案 數據表 缺點 一、程序設計 1、設計功能系統——數據表設計、數據表創建語句、連接數據庫的方式、編碼能力 二、框架基礎知識 1、MVC框架基本原理——原理、常見框架、單一入口的工作原理、模板引擎的理解 2、常見框
VC++中文件操作(二)--- .ini文件、CFile64
其中 文件操作 ray rom 數組 ini文件 情人節 set 清空 各種關於文件的操作在程序設計中是十分常見,如果能對其各種操作都了如指掌,就可以根據實際情況找到最佳的解決方案,從而在較短的時間內編寫出高效的代碼,因而熟練的掌握文件操作是十分重要的。本文將對Visu
IDEA搭建Maven Web(SSM)項目(二)——jar包引入、jetty服務器配置和ssm配置
自動下載 項目文件 工具欄 exclude 版本 don app 網站 tab 第二篇:jetty服務器插件配置,ssm所需基本jar包引入,ssm相關文件配置 1. 配置jetty服務器插件打開已默認創建的pom.xml文件,其中已經自動引入了一些jar和maven插件,
並發編程(二)——開啟進程、
字符串 方法 nat () 之前 multi thread run 終止進程 一、multiprocessing模塊 1、multiprocessing模塊用來開啟子進程,並在子進程中執行我們定制的任務(比如函數),該模塊與多線程模塊threading的編程接口類似
Shell腳本 (二)文本測試、整數值比較、字符串比較 條件測試操作 if語句應用實例
內存 root 條件測試 主機 serve 覆蓋 整數 local 分數 ####################test命令####################測試特定的表達式是否成立,當條件成立時,測試語句的返回值為0,否則為其他數值格式1:test 條件表達式格
【Hibernate(二)】持久化類、主鍵生成策略和一級快取
1.2 持久化類的編寫規則 1.2.1 持久化類的概述 什麼是持久化類 持久化:將記憶體中的一個物件持久化到資料庫中過程。Hibernate框架就是用來進行持久化的框架。 持久化類:一個Java物件與資料庫的表建立了對映關係,那麼這個類在Hibernate中稱為是持久化類。
C#.網路程式設計 Tcp基礎(二) TCP組包、粘包、拆包的原理
一、TCP粘包,拆包及解決方法 轉https://blog.csdn.net/scythe666/article/details/51996268 以下是轉發的部分內容 我們都知道TCP屬於傳
git的常用指令(二) git add -A 、git add . 和 git add -u
git add . :他會監控工作區的狀態樹,使用它會把工作時的所有變化提交到暫存區,包括檔案內容修改(modified)以及新檔案(new),但不包括被刪除的檔案。 git add -u :他僅監控已經被add的檔案(即tracked file),他會將被修改的檔案提交到暫存區。add -u 不會提交新檔
MySQL基礎(二)圖形視窗操作、命令指令碼操作
使用圖形視窗連線 下發windows的navicat 點選“連線”彈出視窗,按照提示填寫連線資訊,如下圖 連線成功後,會在連線名稱下面顯示出當前的資料庫 雙擊選中資料庫,就可以編輯此資料庫 下次再進入此軟體時,通過雙擊完成連線、編輯操作 資料庫操作
從零寫一個Java WEB框架(七)Controller層轉換器
該系列,其實是對《架構探險》這本書的實踐。本人想記錄自己的學習心得所寫下的。 從一個簡單的Servlet專案開始起步。對每一層進行優化,然後形成一個輕量級的框架。 每一篇,都是針對專案的不足點進行優化的。 專案已放上github
從零寫一個Java WEB框架(六)Controller層優化
該系列,其實是對《架構探險》這本書的實踐。本人想記錄自己的學習心得所寫下的。 從一個簡單的Servlet專案開始起步。對每一層進行優化,然後形成一個輕量級的框架。 每一篇,都是針對專案的不足點進行優化的。 專案已放上github
從零寫一個Java WEB框架(二)Server層 優化
該系列,其實是對《架構探險》這本書的實踐。本人想記錄自己的學習心得所寫下的。 從一個簡單的Servlet專案開始起步。對每一層進行優化,然後形成一個輕量級的框架。 每一篇,都是針對專案的不足點進行優化的。 專案已放上github 上一篇地
【AI實戰】快速掌握TensorFlow(二):計算圖、會話
在前面的文章中,我們已經完成了AI基礎環境的搭建(見文章:Ubuntu + Anaconda + TensorFlow + GPU + PyCharm搭建AI基礎環境),以及初步瞭解了TensorFlow的特點和基本操作(見文章:快速掌握TensorFlow(一)),接下來將繼續學習掌握Tenso
程序與執行緒(二)——程序的管理、建立與銷燬
接上回: 我們介紹了程序的由來,程序的概念,程序的組成部分和它在執行過程中的狀態。我們說程序最重要的部分是程序控制塊PCB,作業系統通過PCB來管理各個程序有條不紊的在我們的機器中執行的。那麼作業系統是怎麼樣管理這麼多程序的呢?程序是怎麼樣建立、又是怎麼樣銷燬的呢?