Webview 中FaultyInfo代码说明
class FaultyInfoHandler(tornado.web.RequestHandler):
def get(self):
import xmlrpc.client
s = xmlrpc.client.ServerProxy(LocalRpcSvcAddr)
info = s.faultyinfo()
self.render("faultyinfo.htm", lists=info) def post(self):
import xmlrpc.client
s = xmlrpc.client.ServerProxy(LocalRpcSvcAddr)
event_id = self.get_argument('event_id', '')
if event_id :
evid = event_id.split()
num_evid = len(evid)
for i in range(num_evid):
t = s.faultyrepair(evid[i])
if t[0] == 0:
flag = True
else:
flag = False
message = '操作失败' + ':' + t[1]
break
if flag:
message = '操作成功!'
self.write("<script language=javascript> alert('%s');</script>" % message)
info = s.faultyinfo()
info_num = len(info)
if info_num > 0:
self.write('<META HTTP-EQUIV=REFRESH CONTENT=0;'
'URL=/View/faultyinfo>')
else:
self.write("<script language=javascript> top.location='/';"
"</script>") (r"/View/faultyinfo", FaultyInfoHandler) #打开/View/faultyinfo页面,执行FaultyInfoHandler
分析:
1.class FaultyInfoHandler(tornado.web.RequestHandler):
--FaultyInfoHandler继承tornado.web.RequestHandler
2.def get(self):
--self 指的是FaultyInfoHandler(PS:我是这么认为的,有待确认)
def get(self) 指重新定义get方法,像get、post这类方法原本在tornado.web.RequestHandler是存在的,这里是重定义
self.render("faultyinfo.htm", lists=info) 中render方法在FaultyInfoHandler没有重定义,所以用的是继承于tornado.web.RequestHandler定义的render方法
3.def post(self):
--重新定义post方法,加载页面时,默认调用的是FaultyInfoHandler中的get方法,在htm中采用form表单指定post方法时才会调用post方法,htm中使用如下面代码所示:
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head><title></title>
<link href="/css/base.css" type="text/css" rel="stylesheet">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" content="no-cache">
</head> <script language=javascript>
function IdentifyRepair(event_id)
{
var form_info = document.getElementById("form_info");
form_info.method = "post";
form_info.action = "/View/faultyinfo?event_id=" + event_id;
form_info.submit();
} function GetEventId()
{
var form_info = document.getElementById("form_info");
var evid_list = document.getElementsByName("evid_list");
var evid_info = "";
for(var j=0; j<evid_list.length; j++)
{
evid_info += evid_list[j].value + " ";
} form_info.method = "post";
form_info.action = "/View/faultyinfo?event_id=" + evid_info;
form_info.submit();
}
</script> <body> <table class=title width=700>
<tr>
<td><b>故障信息</b></td>
<td style="font-size:12px;color:#185A73" align=right width=*>{% module Uptime() %}</td>
</tr>
</table> <br>
{% if lists != [] %}
<input type="button" onclick="GetEventId()" value="修复全部">
{% end %}
<br>
{% for d in lists %}
<form id="form_info" name="form_info">
<table width=900 border=0 cellspacing=1 cellpadding=1>
<tr id=tblhdr height=22>
<td width=200 align=center>TIME</td>
<td width=300 align=center>EVENT_ID</td>
<td width=150 align=center>MSG_ID</td>
<td width=150 align=center>SEVERITY</td>
<td align=center>
{% if d['event_id'] %}
<a style="color:#0000ff"
href="javascript:IdentifyRepair('{{d['event_id']}}')">修复</a>
{% end %}
</td>
</tr> <tr id=row0>
<td align=center>{{ d['time'] }}</td>
<td align=center>{{ d['event_id'] }}</td>
<td align=center>{{ d['msg_id'] }}</td>
<td align=center>{{ d['severity'] }}</td>
<input name="evid_list" type="hidden" value={{ d['event_id'] }} /> </tr>
<tr>
<table width=900 >
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Product_sn</td>
<td width=780 align=left>{{ d['product_sn'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left >Fault class</td>
<td width=780 align=left>{{ d['faulty_class'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Affects</td>
<td width=780 align=left>{{ d['affects'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Problem in</td>
<td width=780 align=left>{{ d['problem_in'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>FRU</td>
<td width=780 align=left>{{ d['fru'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Serial ID</td>
<td width=780 align=left>{{ d['serial_id'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Description</td>
<td width=780 align=left>{{ d['description'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Response</td>
<td width=780 align=left>{{ d['response'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Impact</td>
<td width=780 align=left>{{ d['impact'] }}</td>
</tr>
<tr id=row1>
<td width=20 ></td>
<td width=100 align=left>Action</td>
<td width=780 align=left>{{ d['action'] }}</td>
</tr>
</table>
</tr>
</table>
</form>
<br>
{% end %}
</body>
</html>
通过表单的方法:form_info.method form_info.action form_info.submit
4.self.write('<META HTTP-EQUIV=REFRESH CONTENT=0;URL=/View/faultyinfo>')
--重新加载/View/faultyinfo页面
5.self.write("<script language=javascript> top.location='/';</script>")
--重新加载整个页面(缺少说明!!!)
Webview 中FaultyInfo代码说明的更多相关文章
- IOS网络第七天WebView-03js中调用webView中的代码
*********** #import "HMViewController.h" @interface HMViewController () <UIWebViewDeleg ...
- Android WebView中的JavaScript代码使用
在WebView中使用JavaScript 如果你想要载入的页面中用了JavaScript,你必须为你的WebView使能JavaScript. 一旦使能之后,你也可以自己创建接口在你的应用和Java ...
- Android中WebView的JavaScript代码和本地代码交互的三种方式
一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...
- android:如何通过chrome远程调试APP中的webView的h5代码
今天出现一个问题,在老板的Mate9 Pro上,我们APP的所有H5页面都是一片空白,但是在其他手机上都是好的,那么我们就怀疑是h5报错了,但是到底是什么错,无法得知,所以就想要可以像在pc的chro ...
- UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) - walterlv
原文:UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) - walterlv UWP 在 WebView 中执行 JavaScript 代码(用于模拟用户输入等) ...
- 混合开发 webview 中file 控件 点击后无反应解决方法
最近在做个项目 ,需要 使用 file 控件上传 图片到服务器 ,在手机浏览器中 可以正常选择照片,但是放到 android 应用中的webview中,file 控件点击后就没有反应. 百度了一番后, ...
- iOS之在webView中引入本地html,image,js,css文件的方法 - sky//////////////////////////////////////ZZZZZZZZZZZZZZZ
iOS之在webView中引入本地html,image,js,css文件的方法 2014-12-08 20:00:16CSDN-sky_2016-点击数:10292 项目需求 最近开发的项 ...
- Android安全开发之WebView中的地雷
Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者 ...
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
随机推荐
- python爬虫-使用xpath方法
#coding=utf-8 import re from lxml import etree import requests response = requests.get("http:// ...
- input 输入框不能点 readonly , disabled
只读 readonly="readonly" 不可用 disabled="disabled" 背景变 灰色
- codeforces 985 E. Pencils and Boxes (dp 树状数组)
E. Pencils and Boxes time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- 【bzoj2100】[Usaco2010 Dec]Apple Delivery 最短路
题目描述 Bessie has two crisp red apples to deliver to two of her friends in the herd. Of course, she tr ...
- [洛谷P3181][HAOI2016]找相同字符
题目大意:给你两个字符串,求从两个字符串中各选择一个字串使得这两个字串相同的方案数. 题解:建广义$SAM$,对每个点求出在第一个串中出现次数和第二个串中出现次数,乘起来就行了 卡点:无 C++ Co ...
- BZOJ2724:[Violet 6]蒲公英——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2724 输入格式 第一行两个整数n,m,表示有n株蒲公英,m次询问. 接下来一行 n 个空格分隔的整数 ...
- 51nod 1554:欧姆诺姆和项链——题解
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1554 题目: 有一天,欧姆诺姆发现了一串长度为n的宝石串,上面有五颜六色 ...
- excel 列索引(数字)转列名
function index2ColName($columnNumber) { $dividend = $columnNumber; while ($dividend > 0) { $modul ...
- 【简单算法】37.Shuffle an Array
题目: 打乱一个没有重复元素的数组. 示例: // 以数字集合 1, 2 和 3 初始化数组. ,,}; Solution solution = new Solution(nums); // 打乱数组 ...
- HTML5 canvas 创意:飞翔的凤凰
当我看到这件作品的时候,我表示非常喜欢.这个作品的产生不仅仅需要编程和算法,作者肯定是个充满了艺术细胞的人.倘若有什么canvas艺术作品比赛的话,我想它就是获奖的那个. 先观赏下演示吧.注意,要看到 ...