html之静态传参

本文主要探讨HTML中如何进行静态参数传递,介绍这一基础但重要的网页交互方式。

HTML的传参方式之静态传参

	参数传递的分析:
	我们点击一个页面的时候把想要传递的参数通过请求地址+?的方式实现.
	例如 有一个超链接::href="'package_detail.html?id='+package.id",
	点击之后回调转到 package_detail.html界面并传递一个参数,然后我们在
	package_detail获取这个参数:
	我们把这块代码封装为一个函数,当我们想要拿到通过url传递过来的参数时
	可以调用这个参数并且传递一个我们想要的那么参数的名字就可以了,这样就方便
	以后随时获取参数了.例如 getUrlParam("id")
	代码实现:
function getUrlParam(paraName) {
	// 获取当前的url地址,这样我们便可以拿到这个参数.
	var url = document.location.toString();
    //alert(url);
    // 通过"?"对url进行切割,?后面的便是参数了
    var arrObj = url.split("?");
    //orrObj是一个数组,数组的0索引是url地址,1索引便是参数的名字和值了,
    如(id=1)
    if (arrObj.length > 1) {
    // 如果有传递过来参数,我们便使用"&"继续将参数进行切割如(id=1&name=abc)
        var arrPara = arrObj[1].split("&");
        var arr;
    // 如果有多个参数就遍历参数的数组    
        for (var i = 0; i < arrPara.length; i++) {
        //我们可以看到每个参数的名字和值是以"="分割的,那么我们可以继续切割
        然后得到参数的名字和对应的值
            arr = arrPara[i].split("=");
            // 如果这个参数的名字我们想要的参数,就返回这个参数的值
            if (arr != null && arr[0] == paraName) {
                return arr[1];
            }
        }
        // 否则就返回"",表示地址中有参数,但是没有我们想要的
        return "";
    }
    else {
	    // 返回"" 表示当前地址只是一个简单的url地址,并不携带参数
        return "";
    }
}
所给引用中未提及静态文件向正常文件传参的方法相关内容。不过在不同的编程场景下,通常有以下几种常见方法: ### Web开发场景 在Web开发中,若静态文件是前端文件(如HTML、JavaScript),正常文件是后端文件(如Python的Flask、Django,Java的Spring等),可以通过HTTP请求传参。 #### 前端使用AJAX发送请求 以JavaScript为例: ```javascript // 创建一个XMLHttpRequest对象 var xhr = new XMLHttpRequest(); // 配置请求 xhr.open('POST', 'backend-url', true); xhr.setRequestHeader('Content-Type', 'application/json'); // 要传递的参数 var data = { param1: 'value1', param2: 'value2' }; // 发送请求 xhr.send(JSON.stringify(data)); ``` #### 后端接收请求并获取参数 以Python的Flask为例: ```python from flask import Flask, request app = Flask(__name__) @app.route('/backend-url', methods=['POST']) def receive_params(): data = request.get_json() param1 = data.get('param1') param2 = data.get('param2') return f"Received param1: {param1}, param2: {param2}" if __name__ == '__main__': app.run() ``` ### 移动开发场景 在Android开发中,静态文件(如XML)向Java文件传参可以通过资源引用和Intent传参等方式。 #### XML中定义资源 在`strings.xml`中定义参数: ```xml <resources> <string name="param1">value1</string> </resources> ``` #### Java代码中获取资源 ```java import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String param1 = getResources().getString(R.string.param1); TextView textView = findViewById(R.id.textView); textView.setText(param1); } } ``` ### 数据库操作场景 在MyBatis-Plus中,XML映射文件(静态文件)可以引用Java类的静态方法传参。不过要注意避免SQL注入问题,使用`${}`调用静态方法,使用`#{} `引用传入参数。 ```xml <select id="selectWithStaticMethod" resultType="java.lang.String"> SELECT * FROM some_table WHERE some_column = ${@com.example.TenantIdHolder@getTenantId('some_value')} </select> ``` ```java public class TenantIdHolder { public static String getTenantId(String param) { return "static_" + param; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值