表单元素和iframe

一:表单及表单元素

1,input标签

type类型:

text:文本输入框

password:密码输入框

number:数字输入框

radio:单选按钮

checkbox:复选框

button:按钮

submit:提交按钮

reset:重置按钮

file:文件域

hidden:隐藏域

tel:电话号码输入框

search:搜索框

2,lable标签:扩大选择域

    <!-- lable中的for指向input中的id -->
    <label for="username">姓名</label> <input type="text" id="username">

3,txtarea文本域: 用于多行文本

row:表示行的可见宽度       cols:表示列的可见宽度

4,下拉标签

select里面包裹option

multiple="multiple"可以让用户进行多选

selected="selected" 默认选中

    <select name="" id="">
        <option>选项一</option>
        <option selected="selected">选项二</option>
        <option>选项三</option>
        <option>选项四</option>
    </select>

五,表单域

 <form action=”url地址” method=”提交方式 name=”表单名称”>

六,表单的提交方式

1,提交方式常见的有两种是:GET和POST

GET:从指定的资源请求数据。

GET:明文请求,请求的数据会保存在浏览器中,提交数据URL最大长度是2048个字符,安全性较差。

POST:向指定的资源提交要处理的数据。

POST: 密文请求,请求不会被缓存;发送数据没有限制,POST比GET更安全。

七:块级元素与行内元素

1,块级元素:在浏览器中独占一行

常见的块级元素有:div  p   h1~h6  br   ol   ul  

2,行内元素:在浏览器中可以与其他行内元素共占一行

常见的行内元素有:a  span  strong  em  img  input  select 

八,iframe嵌套框架

<iframe>标签规定一个内联框架,被用来在当前的HTML文档中嵌入另一个文档。

应用场景:当代码有大量重复的时候,减少代码量。

width:规定iframe的宽度。

height:规定iframe的高度。

src:规定iframe中显示文档的URL。

frameborder=" 0" :去除边框

九,MVC框架

M:模型层-model  数据库的交互内容

V:视图层-view 页面

C:控制层-centroller  处理业务逻辑的操作

原理:把数据提交到控制层-centroller中的某个控制器去处理,根据用户输入的内容去查找数据

1,获取用户输入在文本框里的数据

2,把这个数据拿到数据库查找 M

3,把查找到的数据以json格式传递给页面 V

4,在页面中获取从后端接口发过来的json格式的数据

5,渲染

### 将Java生成的支付宝Form表单嵌入到HTML iframe元素 为了实现将由Java生成的支付宝支付`<form>`表单嵌入到HTML `<iframe>`元素中,可以采用服务器端渲染的方式,在服务端构建完整的HTML页面并将其返回给客户端浏览器。具体来说: #### 创建动态HTML响应 在Java Web应用程序中创建一个Servlet或其他类型的控制器来处理请求,并生成包含所需`<iframe>`标签及其内容(即支付宝支付表单)的HTML文档。 ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String formContent = "<!DOCTYPE html>\n" + "<html lang=\"en\">\n" + "<head>\n" + " <meta charset=\"UTF-8\">\n" + " <title>Payment Form</title>\n" + "</head>\n" + "<body>\n" + " <!-- 嵌套支付宝支付表单 -->\n" + " <iframe srcdoc='" + generateAlipayForm() + "' width='100%' height='500px'></iframe>\n" + "</body>\n" + "</html>"; response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { out.println(formContent); } } ``` 其中`generateAlipayForm()`方法负责组装实际的支付宝支付表单项[^1]。 #### 构建支付宝支付表单字符串 此函数应根据业务逻辑填充必要的参数值,并确保最终得到的是合法有效的HTML片段形式的字符串表示法。 ```java private static String generateAlipayForm(){ StringBuilder sb = new StringBuilder(); sb.append("<form id='alipayment' action='https://example.com/alipay/gateway.do' method='post'>\n"); // 添加隐藏字段用于传递交易详情数据 sb.append(" <input type='hidden' name='WIDout_trade_no' value='201709121234567890'/>\n"); sb.append(" <input type='hidden' name='WIDsubject' value='测试商品名称'/> \n"); sb.append(" <input type='hidden' name='WIDtotal_amount' value='0.01'/> \n"); sb.append("</form>"); return sb.toString().replaceAll("\r\n", "").replaceAll("\n", ""); } ``` 注意这里替换掉了所有的换行符以保证整个表单能够被正确解析为单一的`srcdoc`属性值的一部分。 通过这种方式可以在不改变现有架构的前提下轻松地完成目标功能开发工作。同时由于所有敏感信息均是在后台程序内部构造完毕后再发送至前端展示层面上显示出来的,因此安全性也得到了保障。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值