JSP里面点击按钮弹出窗口不执行

点击按钮:
发送AJAX代码
script方法:

$(function () { $("#btn").click(function () { alert("hello btn"); }); });

XML文件取消拦截静态资源

正在跟着视频学习SpringMvc框架,遇到这个问题一直解决不了,导致后面的东西弄不了,求大神帮帮忙,解决一下

1个回答

试试这个写法呢。

$(function() {
    $(document).on("click", "#btn", function() {
        alert("hello btn");
    });
});
qq_43074790
qq_43074790 这个按钮的点击还是没用。。。我感觉不是代码的问题,是不是我电脑的问题?
4 个月之前 回复
qq_43074790
qq_43074790 这个按钮的点击还是没用。。。我感觉不是代码的问题,是不是我电脑的问题?
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id
jsp页面点击按钮之后弹出一个新查询用户的窗口,然后返回选中的用户id,在通过ajax查询返回相对的改变jsp页面的文本框的值 请问 当我按那个查询按钮之后,弹出那个查询窗口,选中相应的值之后,按确定之后会关闭查询窗口(会返回选中的用户id)然后通过ajax查询相应的值,同时把值填到一个text文本域内,希望高手可以帮我解决一下这个怎么做?
菜鸟求助:如何在JSP页面中弹出窗口
从数据库中查询到了学生的基本信息,每条记录的后面有个“查看详细”的按钮,点击后弹出一个小窗口能将学生的信息显示出来,应该如何做?求各位大神帮忙,最好有个示例,不胜感激……
请问如何用jsp将按钮点击后弹出提示框,延时一定时间后自动关闭,谢谢大家。。。
请问,如何用jsp将按钮点击后弹出提示对话框,然后延时一定时间后就自动关闭,先谢谢大家。。。 [b]问题补充:[/b] 麻烦大家我想要把问题再补充一下,,,如果我所需要的是等待一个参数,得到这个参数后再关闭窗口,因为是在给servlet传参数(传递参数后程序执行),如果参数传递后执行完成,则将窗口关闭(即再将窗口反传给最先传递参数的窗口),那么应该怎样能够实现呢?
jsp怎样实现用按钮触发一个action,同时弹出一个小窗,将action查询的数据显示到小窗上
jsp页面上有一个按钮,按一下会弹出一个小窗口,同时触发一个action,在后台查询数据后再传到本页面弹出的小窗口上。怎么实现这样的功能呢。 我打算修改用户的密码,点击一下修改 ,会将用户的信息查询出来 显示在本页面的一个弹出窗口上,让用户修改后点击保存
关于后台action进行逻辑判断后,要弹出窗口提示用户。
情况是这样,当在一个很有很多张单的jsp页面对应一张单点击按钮“删除”,那么在struts2的action里面我会判断这张单,是否能删除。如果能删除,则返回原先的页面如果不能删除,我希望实现返回原先的页面,并用js实现弹出一个窗口来。哪位来指点一下如何实现?
A.jsp中如何异步修改B.jsp中的元素(如:div)
业务需求: 图片剪裁功能:B.jsp页面上点击设置按钮弹出一个窗口,该窗口引用一个A.jsp页面,在A.jsp页面上将图片截取后提交,需要异步修改B.jsp页面的某处显示图片,不能使页面刷新 这个功能可以实现吗?需要怎么实现?
关于弹出的页面在window.location之后的返回值问题
各位高手高手高高手: 是这样的。小弟现在做一个项目,我点击一个按钮之后,运用showModalDialog('alarm.jsp','alarm','dialogWidth:720px;dialogHeight:410px;dialogLeft:330px;dialogTop:250px;center:yes;help:no;resizable:no;status:yes')"弹出新的子窗口,之后我在子窗口中点击一个按钮,会调用window.location="../displayAtLeft/alarm.jsp?carSelected="+alarmStrings+"&pageNow=1"; 那么此时,会在另外的页面弹出alarm.jsp,而不是在本窗口页面刷新。请问,我如何让window.location的页面是出现在弹出的该窗口中,而不是另外打开窗口啊?
jsp:点击按钮下载文档的问题<a href="<%= download %>"></a>
代码为: String appRootPath = InitServlet.getAppRootPath(); String download = appRootPath + "/" + InitServlet.getDLFileDir() + "/" + (String)request.getAttribute("fileName"); 其中InitServlet是servlet的名字 在IE8下直接弹出下载或打开的窗口 ![图片说明](https://img-ask.csdn.net/upload/201509/16/1442380301_30335.png) 在IE8以上的版本及谷歌下直接打开文件,并且文件里的内容是直接输入到页面上的 ![图片说明](https://img-ask.csdn.net/upload/201509/16/1442380376_34262.png) 请问大神们怎么解决使之都能像在IE8下的效果,
请问如何实现点击按钮刷新已打开页面的功能
用ExtJs实现如下: A.jsp中点击“显示”按钮弹出B.jsp窗口,若在没有关闭B页面前提下再次点击A的“显示”按钮实现B页面整个刷新并自动切换到B页面 如何实现?? 我写的代码 [code="java"] var tabPanel = window.parent.tabs; var lp = tabPanel.getComponent(id); if(!np){ tabPanel.add({ id: id, title: name, html: '<iframe scrolling="auto" frameborder="0" src = "'+ url + '" height="100%" width="100%"></iframe>', closable: true }).show(); } else{ var frmid = tabPanel.items.indexOf(np); tabPanel.frames[frmid].location.reload(); np.show(); } [/code] 在第二次点击时总是提示“frames为空或不为对象”,可是这个页面明明已经有了啊?为什么?请指教 [b]问题补充:[/b] np就是lp手误了 其次我取得是下标 用下标也能定位的吧 不一定要id的 [b]问题补充:[/b] 而且用id我也试过了 还是同样的错误 [b]问题补充:[/b] 这些代码是写在a.jsp中的 要弹出的就是iframe中的b.jsp页面 a页面最外层还有个frame 用Ext.get方法也取不到这个iframe啊 我做tabPanel.frames[frmid]其实就是为了获取这个内嵌的iframe,但是代码跑到frames这边就报错了,请问除了我写的这种方法 还能用什么方法获取这个iframe?加id或name我都试过了 还是同样错 还有,我并没有点击关闭按钮,close应该还没调到吧 [b]问题补充:[/b] 代码太多我不可能全部贴出来的 其实我就是想知道如何获取一个tabPanel里面的iframe整个页面啊。取到了这个页面我才能去做刷新 [b]问题补充:[/b] 对了 说错了一点 tabPanel部分我是单独写在c.jsp中的,这个a.jsp也是c生成的一个iframe中,a和b其实是同级的,应该说c每次生成一个新的iframe。现在a想通过操作父页面c来增加一个兄弟页面b就是这样
javascipt问题:关闭模态对话框,启动新的窗口
点击按钮后,会跳出一个模态对话框, 代码如下: <a href=\"#\" onclick=\"openwin('/news/qtpage/openZjysCx.jsp','250','500');\" class=\"Menu\"><strong>查询</strong></a> 在这个弹出的模态对话框中显示的页面上有某一个查询按钮。 现在我想做的是,点击该查询按钮后,原来的模态对话框消失,然后使用另一个窗口来显示查询后的结果。该如何做呢? 目前,我查询出来的结果老是在原来的模态对话框中显示,很烦。可不可以不要在原来的模态对话框显示。 请有相关经验的说一下! 补充:点击查询时,是调用后台的action的。我想在action中动态的输出javascipt,关闭窗口,但是没有成功的。 是什么时候调用window.close(); 还是有其他的解决方式呢? [b]问题补充:[/b] 抱歉,描述的不是很对的。是使用下面的代码打开一个新窗口的。代码如下: window.open(pageURL,name,parameters) 在这个弹出的新窗口中显示的页面上有某一个查询按钮。 现在我想做的是,点击该查询按钮后,原来的窗口消失,然后使用另一个窗口来显示查询后的结果。该如何做呢? 目前,我查询出来的结果老是在原来的窗口中显示,很烦。可不可以不要在原来的窗口中显示,另外起一个新的窗口显示最新查询出来的结果
为什么两个按钮我随便点击一个按钮都会更新成功,插入按钮我需要的是插入更能而不是更新功能,求大神指教
<%@ page import="com.trs.constants.AuthConstants"%> <%@ page import="org.springframework.validation.FieldError"%> <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>短信管理-修改短信模板</title> <link rel="stylesheet" type="text/css" href="<%=basePath %>images/smsNewAndUpdatePopup.css" /> <link rel="stylesheet" type="text/css" href="<%=basePath %>images/bootstrap.min.css" /> <script src="<%=basePath %>images/jquery.min.js"></script> <script src="<%=basePath %>images/layer/layer.js"></script> </head> <body> <div class="smsNewAndUpdate_Popup"> <div class="titlePopup_head"> <span>修改短信模板</span> <img src="<%=basePath %>images/cls.jpg" class="titlePopup_head_right" onclick="cancelbtn()"> </div> <div class="smsNewAndUpdate_Popup_con"> <div class="smsNewAndUpdate_Popup_main"> <form class="form-horizontal" id="updateSmsTemp" action="<%=basePath%>smsTemp.do?method=updateSmsTemp" method="post"> <input type="hidden" name="stId" value="${requestScope.mrsSmsTemp.stId}"> <fieldset> <div class="popupInfo_left"> <span>名称:</span><input type="text" placeholder="" class="input-xlarge" value="${requestScope.mrsSmsTemp.tempName}" id="tempName" name="tempName"/><span class="required_Info">*</span> </div> <div class="popupInfo_left"> <span>类型:</span> <div class="drop_down"> <select class="border_clr" id="tempType" name="tempType" value="${requestScope.mrsSmsTemp.tempType}"> <option value="1" <c:if test="${requestScope.mrsSmsTemp.tempType eq '1'}">selected</c:if> >自取</option> <option value="2" <c:if test="${requestScope.mrsSmsTemp.tempType eq '2'}">selected</c:if> >邮寄</option> <option value="3" <c:if test="${requestScope.mrsSmsTemp.tempType eq '3'}">selected</c:if>>打卡</option> </select> </div> </div> <div class="popupInfo_left"> <span>内容:</span> <div class="drop_down"> <select class="border_clr" id="ditchId" name="ditchId" value="${requestScope.mrsSmsTemp.ditchId}"> <option value="0" <c:if test="${requestScope.mrsSmsTemp.ditchId eq '0'}">selected</c:if> >渠道选择</option> <option value="1" <c:if test="${requestScope.mrsSmsTemp.ditchId eq '1'}">selected</c:if> >APP</option> <option value="2" <c:if test="${requestScope.mrsSmsTemp.ditchId eq '2'}">selected</c:if> >网站</option> <option value="3" <c:if test="${requestScope.mrsSmsTemp.ditchId eq '3'}">selected</c:if>>纸媒</option> <option value="4" <c:if test="${requestScope.mrsSmsTemp.ditchId eq '4'}">selected</c:if>>杂志</option> </select> </div> <div class="drop_down"> <select class="border_clr" > <option value="标题">标题</option> <option value="作者">作者</option> <option value="时间">时间</option> </select> </div> <button class="border_clr0" onclick="insert()">插入</button> </div> <div class="popupInfo_left"> <textarea class="ml42 popupInfo_right_area" name="tempContent" id="tempContent" cols="57" rows="7" >${requestScope.mrsSmsTemp.tempContent }</textarea><span class="required_Info1">*</span> </div> <div class="popupInfo_left"> <span>说明:</span> <textarea class="popupInfo_right_area" name="tempDescription" id="tempDescription" cols="57" rows="7">${requestScope.mrsSmsTemp.tempDescription }</textarea> </div> </fieldset> </form> <div class="smsNewAndUpdatePopup_footer"> <button class="news-role-btn-success" onclick="successBtn()">确定</button> <button class="news-role-btn" onclick="cancelbtn()">取消</button> </div> </div> </div> </div> <script type="text/javascript"> function insert() { } //关闭弹出层 function cancelbtn() { var index = parent.layer.getFrameIndex(window.name); parent.layer.close(index); } function successBtn(){ var tempName = document.getElementById("tempName").value; var tempContent = document.getElementById("tempContent").value; if(tempName==""){ layer.tips('模板名称不能为空!', '#tempName', { tips: 3 }); }else if(tempContent==""){ layer.tips('模板内容不能为空!', '#tempContent', { tips: 3 }); }else{ document.getElementById("updateSmsTemp").submit(); } } </script> <!-- 判断如果返回了错误信息则显示 --> <c:forEach items="${requestScope.hasError}" var="hasError" > <c:set var="_haserror" scope="page" value="${hasError }"/> </c:forEach> <c:if test="${_haserror!=null}"> <script> layer.tips('${_haserror}', '#tempName', { tips: 3 }); </script> </c:if> <% //如果没有错误信息则代表成功,关闭当前窗口 %> <c:if test="${requestScope.success eq 'success'}"> <script> var index = parent.layer.getFrameIndex(window.name); parent.location.reload(); parent.layer.close(index); </script> </c:if> <script type="text/javascript"> (function($){ $.fn.extend({ insertAtCaret: function(myValue){ var $t=$(this)[0]; if (document.selection) { this.focus(); sel = document.selection.createRange(); sel.text = myValue; this.focus(); } else if ($t.selectionStart || $t.selectionStart == '0') { var startPos = $t.selectionStart; var endPos = $t.selectionEnd; var scrollTop = $t.scrollTop; $t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length); this.focus(); $t.selectionStart = startPos + myValue.length; $t.selectionEnd = startPos + myValue.length; $t.scrollTop = scrollTop; } else { this.value += myValue; this.focus(); } } }); })(jQuery); $(".border_clr0").change(function(){ $("#tempContent").insertAtCaret($(this).val()); }); </script> </body> </html>
Java新手求助,动态下拉列表
项目用LayUi框架+SpringMvc实现的 点击总体页面右侧的编辑按钮弹出Layui渲染的窗口(另一个jsp页),窗口中的下拉列表想做成从后端数据库表中查出的数据 ![图片说明](https://img-ask.csdn.net/upload/201706/07/1496817409_419946.png) 整体页: ``` <fieldset class="layui-elem-field"> <legend>诉讼指南列表</legend> <div class="layui-field-box layui-form"> <table class="layui-table admin-table"> <thead> <tr> <th style="width: 30px;"><input type="checkbox" lay-filter="allselector" lay-skin="primary"></th> <th>标题</th> <th>日期</th> <th>分类</th> <th>操作</th> </tr> </thead> <tbody id="content"> </tbody> </table> </div> </fieldset> <div class="admin-table-page"> <div id="paged" class="page"> </div> </div> <script type="text/html" id="tpl"> {{# layui.each(d.list, function(index, item){ }} <tr> <td><input type="checkbox" lay-skin="primary"></td> <td>{{ item.heading }}</td> <td>{{ item.dates }}</td> <td>{{ item.litigationguidesubmenu.litigationguidesubmenuname }}</td> <td> <!-- 修改按钮 --> <a href="javascript:;" data-gid="{{ item.gid }}" data-heading="{{ item.heading }}" data-straightmatter="{{ item.straightmatter }}" data-dates="{{ item.dates }}" data-opt="edit" class="layui-btn layui-btn-mini" id="update" onclick="edit(this)">编辑</a> <a href="javascript:;" data-gid="{{ item.gid }}" data-opt="del" id="del" class="layui-btn layui-btn-danger layui-btn-mini" onclick="del(this)">删除</a> </td> </tr> {{# }); }} </script> <script type="text/javascript" src="${pageContext.request.contextPath }/plugins/layui/layui.js"></script> <script> layui.config({ base: 'js/' }); layui.use(['paging', 'form'], function() { var $ = layui.jquery, paging = layui.paging(), layerTips = parent.layer === undefined ? layui.layer : parent.layer, layer = layui.layer, form = layui.form(); paging.init({ /* 省略查询代码 */ complate: function() { //点击编辑按钮弹出编辑窗口 $.post('view/LitigationGuide/forms/updateForm.jsp',{gid:$(this).data('gid'),heading:$(this).data('heading'),straightmatter:$(this).data('straightmatter'),dates:$(this).data('dates'),submenu:$(this).data('submenu')}, function(form) { addBoxIndex = layer.open({ type: 1, title: '修改诉讼指南', content: form, btn: ['保存', '取消'], shade: false, offset: ['100px', '30%'], area: ['800px', '620px'], zIndex: 19950924, maxmin: true, yes: function(index) { //触发表单的提交事件 $('form.layui-form').find('button[lay-filter=edit]').click(); }, success: function(layero, index) { //弹出窗口成功后渲染表单 var form = layui.form(); form.render(); form.on('submit(edit)', function(data) { //参数传入controller $.post('litigationguide/updateLitigationGuide.json',data.field,function(res){ location.reload(); }); return false; }); }, end: function() { addBoxIndex = -1; } }); }); }); }); }, }); </script> ``` updateForm.jsp: ``` <html> ... <body> <!--省略标题、正文、日期等...--> <div class="layui-form-item" style="width:200px; margin-left:110px;"> <select name="fenlei" lay-verify="" > <option value="">请选择文章分类</option> <c:forEach items="${ 后台返回的集合 }" var="s"> <option value="${ s.id }">${ s.值 }</option> </c:forEach> </select> </div> ... </body> ... </html> ``` 小白还求高手指教
模态窗口提交能不能提交到action
这两天写了一个ssh,要求如下:再页面上点击“订单录入”,弹出模态窗口,这个模态床口上有个“保存”按钮,点击之怎么能让这个表单提交到自己定义的action中呢?并且成功后刷新这个模态窗口?我刚学模态窗口,啥也不会,请大家多多指教。 注: 我写的代码: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'addmerych.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <script type="text/javascript"> function showMain(){ window.close(); } </script> </head> <body> <form id="merychAdd" action="/merychAdd.do" method="post"> <table> <tr> <td>名称:</td> <td><input type="text" name="name"></td> <td>代码:</td> <td><input type="text" name="code"></td> </tr> <tr> <td>厂商:</td> <td width="200px"><input type="text" name="factory"></td> </tr> <tr> <td>包装:</td> <td><input type="text" name="packagetype"/></td> <td>价格:</td> <td><input type="text" name="price"/></td> </tr> <tr> <td colspan="2"><input type="submit" value="保存" onclick="saveMerych()"></td> <td colspan="2"><input type="button" value="关闭" onclick="showMain()"></td> </tr> </table> </form> </body> </html> 我点了保存后,系统提示我找不到“merychAdd.do” 在这请教各位,怎么才能提交这个表单呢?
java如何停止当前正在运行的线程,新手求解答
最近想做一个无线数据监控服务端,用java做的,面板Jframe设置了一个Jpanel,我称这个为Jpanel 1 ,在Jpanel 1中我定义了一个多选JCheckbox,有四种监控方式可选:Bluetooth,Wifi,GPRS,Zigbee。还定义了一个JButton,分为开始ON,结束OFF,然后在JPanel 1中定义了JPanel 2,JPanel 2 中我定义了JScrollPane,scrollAndSetCursor用于实现滚动以及光标相关效果,程序运行的大致过程是这样的,我先选择监控方法,(方法是多选的,我想能够同步实现这几个方法),然后点击ON按钮就开始运行服务器程序了, **重点来了** , **我现在的问题是** ,停止按钮OFF不知道怎么设置方法能够让程序停止当前的线程,我想实现的是点击OFF后,当前的监控方式运行全部停止,(就跟刚开始巡行这个程序一样,可以重新开始选择监控方式,在重新点击ON又可以重新运行),现在就是不知道怎么在jbArray[1](ON按钮的监控事件)中定义,感觉自己写的jbArray[0](ON按钮)也有问题。(我其实是想实现这四种方法可以同步运行,互不干扰,多线程运行)希望各位哥哥姐姐帮帮忙,帮我改一改jbArray[0](按钮的监听事件)以及实现jbArray[1](OFF结束当前监控方式线程事件),谢谢各位了,代码稍微有点长,我全贴上来了,辛苦各位了 package SystemTray; import java.awt.AWTException; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Menu; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.Rectangle; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.util.Timer; import java.util.TimerTask; import javax.microedition.io.StreamConnection; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JTextArea; import BluetoothChatServer.*; import GPRSChatServer.*; import WifiChatServer.*; import ZigbeeChatServer.*; public class SystemTrayDemo extends JFrame { protected JTextArea ta = new JTextArea(20,42); protected Timer timer = new Timer(); protected boolean jbarry = false; protected TrayIcon trayIcon = null; protected SystemTrayDemo(){ this.setTitle("Data monitoring server"); TrayInit(); WinInit(); //取得当前屏幕的宽度和高度 int width=Toolkit.getDefaultToolkit().getScreenSize().width; int height=Toolkit.getDefaultToolkit().getScreenSize().height; //设置窗体大小 this.setSize(610, 470); //设置窗体初始显示的位置 this.setLocation((width-610)/2, (height-470)/2); this.setResizable(false);//设置窗体不可调整大小 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置窗体关闭方式,关闭窗体时同时结束程序 final JPanel jp1 = new JPanel(); jp1.setLayout(null);//不设置的话是无法设置jp2的大小。等同于窗口的大小。 JPanel jp2=new JPanel(); jp2.setBounds(110,20,480,390); //jp2.setBounds(new Rectangle(110,15,450,350));//设置jp2的左边距、上边距、长度、高度,在jp1没设置setLayout(null);是无效的 //jp2.setBackground(Color.gray);//设置框体的背景色 //jp2.setBorder(BorderFactory.createEtchedBorder(Color.black, Color.BLUE)); //设置框体的边框 final JScrollPane jsp = new JScrollPane(ta); jp2.add(jsp,BorderLayout.CENTER); jp1.add(jp2); /*ta.setText("Start.....\n"); TimerTask task = new TimerTask(){ public void run(){ ta.append("Time: " + (System.currentTimeMillis() / 1000) + "\n"); scrollAndSetCursor(); } }; time.schedule(task, 0, 1000);*/ //super(); //enableEvents(AWTEvent.WINDOW_EVENT_MASK); //创建标签数组 JLabel[] jlArray = {new JLabel("Switch"),new JLabel("Mode")}; //创建复选框数组 final JCheckBox[] jcbArray = {new JCheckBox("Bluetooth",true),new JCheckBox("Wifi"),new JCheckBox("GPRS"), new JCheckBox("Zigbee")}; //创建按钮数组 final JButton[] jbArray = {new JButton("ON"),new JButton("OFF")}; //设置布局管理器 for(int i=0;i<4;i++){ //设置复选按钮的大小位置 jcbArray[i].setBounds(10,185+i*30,80,30); //将复选按钮添加到JPanel中 jp1.add(jcbArray[i]); //设置标签与普通按钮的大小位置 if(i>1){ continue; } //continue后的语句不在执行。。 jlArray[i].setBounds(30,20+i*140,80,30); jbArray[i].setBounds(10,50+i*45,80,30); //将标签与普通按钮添加到JPanel中 jp1.add(jlArray[i]); jp1.add(jbArray[i]); } this.add(jp1); //为普通按钮注册动作事件监听器。 //开始按钮 **感觉这地方有问题,如何修改?????** jbArray[0].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { jbArray[0].setEnabled(jbarry); int result= JOptionPane.showConfirmDialog(null,"Start monitoring program now?","Message",JOptionPane.YES_NO_OPTION); if(result==0){ //是 StringBuffer temp0 = new StringBuffer(); for(int i = 0;i<4;i++){ if(jcbArray[i].isSelected()){ String tmpstr; tmpstr = jcbArray[i].getText()+" monitoring method "; ta.append(tmpstr + "\n"); temp0.append(tmpstr); } } if(temp0.length()==0){ JOptionPane.showMessageDialog(null,"The monitoring method can't be empty!","Message",JOptionPane.WARNING_MESSAGE); jbArray[0].setEnabled(!jbarry); } //蓝牙线程 Thread Bluetooth = new Thread(){ public void run() { if(jcbArray[0].isSelected()){ new BluetoothRemoteServer(); } } }; //Bluetooth.setName("Bluetooth"); //String name0 = Bluetooth.getName(); //ta.append(name0+" start\n"); Bluetooth.start(); //Wifi线程 Thread Wifi = new Thread(){ public void run() { if(jcbArray[1].isSelected()){ new WifiRemoteServer(); } } }; //Wifi.setName("Wifi"); // String name1 = Wifi.getName(); // ta.append(name1+" start\n"); Wifi.start(); //GPRS线程 Thread GPRS = new Thread(){ public void run() { if(jcbArray[2].isSelected()){ new GPRSRemoteServer(); } } }; //GPRS.setName("GPRS"); //String name2 = GPRS.getName(); //ta.append(name2+" start\n"); GPRS.start(); //Zigbee线程 Thread Zigbee = new Thread(){ public void run() { if(jcbArray[3].isSelected()){ new ZigbeeRemoteServer(); } } }; //Zigbee.setName("Zigbee"); //String name3 = Zigbee.getName(); //ta.append(name3+" start\n"); Zigbee.start(); } if(result==1){ //否 jbArray[0].setEnabled(!jbarry); } } }); //结束按钮 **如何实现点击jbArray[1]后能够停止前面jbArray[0]中选择的监控方式的线程?????** jbArray[1].addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int result= JOptionPane.showConfirmDialog(null,"End monitoring program now?","Message",JOptionPane.YES_NO_OPTION); if(result==0){ //是 for(int i=0; i<jcbArray.length; i++){ jcbArray[i].setSelected(false); } ta.setText(null); //后续功能完善 jbArray[0].setEnabled(!jbarry); } if(result==1){ //否 } } }); } //托盘的功能选项设置 public void TrayInit(){ if(SystemTray.isSupported()){ //检查当前系统是否支持系统托盘 SystemTray tray = SystemTray.getSystemTray();//获取表示桌面托盘区的 SystemTray 实例。 URL imageUrl=SystemTrayDemo.class.getResource("java.png"); ImageIcon icon = new ImageIcon(imageUrl); //Image image = Toolkit.getDefaultToolkit().getImage("D:\\kissjava.gif"); PopupMenu popupMenu = new PopupMenu(); //为托盘添加右键菜单 MenuItem exitItem = new MenuItem("Exit"); //退出exitItem按钮 exitItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ try{ System.exit(0); }catch(Exception ex) { ex.printStackTrace(); } } }); popupMenu.add(exitItem); //创建带指定图像、工具提示和弹出菜单的 TrayIcon trayIcon = new TrayIcon(icon.getImage(), "System is running", popupMenu); trayIcon.addMouseListener(new java.awt.event.MouseAdapter(){ @Override public void mouseClicked(MouseEvent e) { if(e.getClickCount()==2){ showIT(true); } } }); try{ tray.add(trayIcon); // 将 TrayIcon 添加到 SystemTray。 } catch (AWTException e) { System.err.println(e); } }else{ JOptionPane.showMessageDialog(null,"The operating system does not support tray","Message",JOptionPane.ERROR_MESSAGE); } } //窗体的菜单功能选项设置 public void WinInit(){ JMenuBar menubar = new JMenuBar();//为窗体添加菜单功能 setJMenuBar(menubar); //开关option选项 /*前端添加小图标 * JMenu option = new JMenu("开关"); * Icon startIcon = new ImageIcon("image/bluetooth.png"); JMenuItem start = new JMenuItem("开始",startIcon); */ //设置setting选项 JMenu setting = new JMenu("Setting"); JMenu language = new JMenu("Language"); setting.add(language); JMenuItem language1 = new JMenuItem("中文"); language.add(language1); JMenuItem language2 = new JMenuItem("English"); language.addSeparator(); language.add(language2); JMenu update = new JMenu("Update"); setting.addSeparator(); setting.add(update); JMenuItem update1 = new JMenuItem("Version update"); update.add(update1); update1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null,"please send the mail to zhouwenquan2012552061@Gmail.com","Message",JOptionPane.PLAIN_MESSAGE); } }); //关于help选项 JMenu help = new JMenu("Help"); JMenuItem about = new JMenuItem("About"); help.add(about); //后续功能完善 about.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null," Copyright @2013 popcorn\n All Right Reserved\n author popcorn\n version 1.0","Message",JOptionPane.PLAIN_MESSAGE); } }); menubar.add(setting); menubar.add(help); } /** 该方法用于实现滚动以及光标相关效果 */ public void scrollAndSetCursor(){ // ta.requestFocus(); ta.setSelectionStart(ta.getText().length()); } public void showIT(boolean visable){ if(this.isVisible() != visable) this.setVisible(visable); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(new Runnable(){ public void run(){ new SystemTrayDemo().setVisible(true);//设置窗体显示 } }); } }
FCKeditor js 验证为空问题,多了一个<br/>
对FCKeditor 进行是否为空验证, JS 验证代码如下: [code="java"] function checkAll() { var oEditor = FCKeditorAPI.GetInstance('content'); var checkContent = oEditor.GetXHTML(); if(checkContent == "") { alert("空哎!"); oEditor.Focus(); return false; } } [/code] 表单代码如下: [code="html"] <form action="show.jsp" onsubmit="return checkAll();"> <FCK:editor instanceName="content" basePath="/fckeditor" toolbarSet="garlic" width="600px" height="300px"> </FCK:editor> <input type="submit" value="提交"> </form> [/code] 第一次进入该页面,点击提交按钮,能个正常判断,弹出提示窗口。 但是 再点击之后,就无效了,一看原来 FCKeditor 自动加一个换行的<br />标签。 如何屏蔽掉这样的情况,各位有没有解决方法 或者成功的验证FCKeditor 为空的方法?
jboss服务器问题1
在jboss上面发布一个项目以后,用游览器访问的时候,鼠标点击跳转按钮或者链接 就会自动弹出一个下载窗口,也就是一个另存为窗口! [b]问题补充:[/b] 我的web配置文件里面没mime-type这个属性,项目转向的是一个servlet页面 然后再由这个servlet页面转向一个jsp页面。一点链接本来是要显示出jsp页面内容的,但是服务器弹出来的是一个下载窗口,下载的是servlet页面,并且修改一下文件的扩展名里面的内容是要转向jsp的内容。 [b]问题补充:[/b] <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID" version="2.4"> <display-name>jsp</display-name> <servlet> <description> </description> <display-name> BookServlet</display-name> <servlet-name>BookServlet</servlet-name> <servlet-class> com.baoz.b09j1031.servlet.BookServlet</servlet-class> </servlet> <servlet> <description> </description> <display-name> DeleteBookServlet</display-name> <servlet-name>DeleteBookServlet</servlet-name> <servlet-class> com.baoz.b09j1031.servlet.DeleteBookServlet</servlet-class> </servlet> <servlet> <description> </description> <display-name> EditBookServlet</display-name> <servlet-name>EditBookServlet</servlet-name> <servlet-class> com.baoz.b09j1031.servlet.EditBookServlet</servlet-class> </servlet> <servlet> <description> </description> <display-name> SaveBookServlet</display-name> <servlet-name>SaveBookServlet</servlet-name> <servlet-class> com.baoz.b09j1031.servlet.SaveBookServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>BookServlet</servlet-name> <url-pattern>/BookServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>DeleteBookServlet</servlet-name> <url-pattern>/DeleteBookServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>EditBookServlet</servlet-name> <url-pattern>/EditBookServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SaveBookServlet</servlet-name> <url-pattern>/SaveBookServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
extjs3.4 window组件第一次打开后关闭正常,第二次打开后就不能关闭了
<p> </p> <pre name="code" class="js"><span style="color: #ff0000;">在页面上有个grid表格 里面有个增加按钮,点击增加按钮时弹出一个窗口,填写相关信息 第一次点击增加按钮,窗口打开,可以关闭,第二次点击增加按钮后,弹出的窗口就不能关闭了. 截图是两次打开窗口的截图,第二次截图还多了几个下拉框 ,用的是extjs3.4的版本,改成extjs2.0的版本就正常了,是不是两个版本之间有什么区别,求指导</span> grid代码 var Record CommonGrid = Ext .extend( Ext.grid.GridPanel, { // saveFlag : true, constructor : function(cfg) { var cfg = cfg || {}; Ext.apply(this, cfg); var data = [ [ '10.21.34.56', '华为设备', '5680', 'aa', '1', '1', '1', '1', '1', '1' ], [ '10.21.34.56', '中兴设备', 'C200', 'aa', '2', '1', '1', '1', '1', '1' ], [ '10.21.34.56', '烽火设备', 'AN5616', 'aa', '2', '2', '1', '1', '1', '1' ], [ '10.21.34.56', '贝尔设备', 'AN5616', 'aa', '3', '3', '1', '1', '1', '1' ] ]; var Record = Ext.data.Record.create([ { name : 'logicid' }, { name : 'logiccode' }, { name : 'netproId' }, { name : 'logicname' }, { name : 'logicdec' }, { name : 'netproname' }, { name : 'netmodel' }, { name : 'bmodel' }, { name : 'ip' }, { name : 'port' } ]); this.NameCombo = new Ext.form.ComboBox({ id : 'nameCombo', emptyText : "请选择...", isFormField : true, width : 100, mode : 'local', allowBlank : false,// 不允许为空 blankText : "不能为空",// forceSelection : true, triggerAction : 'all', fieldLabel : "逻辑网元名称", displayField : 'text', listWidth : 100, valueField : 'id', store : new Ext.data.SimpleStore({ data : [ [ '1', '合肥' ], [ '2', '芜湖' ], [ '3', '安庆' ], [ '4', '蚌埠' ] ], fields : [ 'id', 'text' ] }), editable : false,// 不允许输入 }); this.ClassCombo = new Ext.form.ComboBox({ id : 'classCombo', emptyText : "请选择...", isFormField : true, width : 100, mode : 'local', allowBlank : false,// 不允许为空 blankText : "不能为空",// forceSelection : true, triggerAction : 'all', fieldLabel : "网元协议名称", displayField : 'text', listWidth : 100, valueField : 'id', store : new Ext.data.SimpleStore({ data : [ [ '1', '合肥' ], [ '2', '芜湖' ], [ '3', '安庆' ], [ '4', '蚌埠' ] ], fields : [ 'id', 'text' ] }), editable : false,// 不允许输入 }); this.store = new Ext.data.Store({ // proxy : new Ext.data.HttpProxy({url : // 'getProcessRuleList.action', method : 'POST'}), // reader : new Ext.data.JsonReader( // {totalProperty:'total',root:'root'}, // [{name : 'id'},{name : 'busiTypeId'}, {name : // 'busiType'}, {name // : 'faultId'}, // {name : 'faultName'}, {name : 'accessWay'},{name // : 'portType'}, // {name : 'processName'}, // {name : 'processchname'}, {name : 'createTime'}] // ) autoLoad : true, proxy : new Ext.data.MemoryProxy(data),// 获得本地数据 reader : new Ext.data.ArrayReader( // 解析数据 {}, Record ) }); CommonGrid.superclass.constructor .call( this, { title : '网元信息列表', id : '_processRuleConfig', region : 'north', height : 300, border : false, stripeRows : true, split : true, /* * viewConfig:{ forceFit:true }, */ cm : new Ext.grid.ColumnModel( [ new Ext.grid.RowNumberer(), { header : '逻辑网元ID', align : 'center', dataIndex : 'logicid', width : 150, hidden : true }, { header : '逻辑网元编码', align : 'center', dataIndex : 'logiccode', width : 150, hidden : true }, { header : '网元协议ID', align : 'center', dataIndex : 'netproId', width : 150, hidden : true }, { header : '逻辑网元名称', align : 'center', dataIndex : 'logicname', width : 150, sortable : true }, { header : '逻辑网元描述', align : 'center', dataIndex : 'logicdec', width : 150, sortable : true }, { header : '网元协议名称', align : 'center', dataIndex : 'netproname', width : 150, renderer : this.detailInfoShow, sortable : true }, { header : '网元交互模式', align : 'center', dataIndex : 'netmodel', width : 150, sortable : true }, { header : '部署模式', align : 'center', dataIndex : 'bmodel', width : 150, sortable : true }, { header : '服务IP', align : 'center', dataIndex : 'ip', width : 150, sortable : true }, { header : '服务端口', align : 'center', dataIndex : 'port', width : 150, sortable : true } ]), bbar : new Ext.PagingToolbar( { pageSize : 10, store : this.store, firstText : '第一页', nextText : '下一页', prevText : '上一页', refreshText : '刷新', lastText : '最后一页', beforePageText : '当前', afterPageText : '页/共{0}页', displayInfo : true, displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条', doLoad : function(C) { // 为了点击下一页传递参数用 var B = {}; var D = {}; A = this.paramNames; B[A.start] = C; B[A.limit] = this.pageSize; if (this .fireEvent( "beforechange", this, B) !== false) { this.store .load({ params : B, callback : function( records, option, success) { if (success) { Ext .getCmp("_processRuleConfig").store .load({ params : B }); } } }); } }, emptyMsg : "没有记录", items : [ ' ', { text : '新增', iconCls : 'new', handler : this.doAdd, scope : this }, '-', { text : '修改', iconCls : 'update', handler : this.doModify, scope : this }, '-', { text : '删除', iconCls : 'delete', handler : this.doDelete, scope : this }, '-', { text : '配置命令模板', iconCls : 'update', handler : this.doCommand, scope : this }, '-', { text : '查看物理网元', iconCls : 'find', handler : this.doNet, scope : this } ] }), tbar : new Ext.Toolbar( { items : [ '逻辑网元名称:', this.NameCombo, '-', '网元协议名称:', this.ClassCombo, '-', { text : '查询', iconCls : 'find', handler : this.doQuery, scope : this }, { text : '重置', iconCls : 'find', handler : this.doClear, scope : this } ] }) }); this.initListener(); }, initListener : function() { this.addListener("render", function() { this.loadMask = new Ext.LoadMask(Ext.getBody(), { msg : '正在载入数据,请稍候...' }); this.store.load({ params : { start : 0, limit : 5 } }); }, this); this.addListener("rowdblclick", function(grid, index, e) { this.doModify(); }, this); this.addListener("cellclick", function(grid, index, e) { this.doclick(); }, this); }, detailInfoShow : function(val, medadata, record, rowIndex, colIndex, store) { // var testOrderId = record.get('testOrderId'); return "&lt;a href='http://localhost:8080/extjs/jsp/netprotocol.jsp'&gt;" + val + "&lt;/a&gt;"; }, <span style="color: #ff0000;">//窗口弹出代码</span> <span style="color: #ff0000;"> doAdd : function() { if(Ext.getCmp('apWindow')!=null){ Ext.getCmp('apWindow').close(); var logicWindow = new LogicWindow({ pview : this }); logicWindow.show(); }else{ var logicWindow = new LogicWindow({ pview : this }); logicWindow.show(); } </span> }, doCommand : function() { // 举例说明 window .open( "http://localhost:8080/extjs/jsp/netprotocol.jsp", "_blank"); }, doNet : function() { // 举例说明 window .open( "http://localhost:8080/extjs/jsp/netprotocol.jsp", "_blank"); }, doclick : function() { var record = this.getSelectionModel().getSelected(); var logicname = record.get("logicname"); this.ppanel.configRegion.rule.logicname .setValue(logicname); this.ppanel.configRegion.rule.logicname.disable(); }, doModify : function() { var record = this.getSelectionModel().getSelected(); if (record == null) { Ext.Msg.alert('系统提示', padBlank + padBlank + "请选择一条记录!" + padBlank + padBlank); return; } var logicWindow = new LogicWindow({ pview : this }); logicWindow.show(); logicWindow.logicForm.loadData(record); }, doDelete : function() { var record = this.getSelectionModel().getSelected(); if (record == null) { Ext.Msg.alert('系统提示', padBlank + padBlank + "请选择一条记录!" + padBlank + padBlank); return; } this.store.remove(record); } }); <span style="color: #ff0000;">窗口代码</span> /** * 逻辑网元信息配置窗口 */ LogicWindow = Ext.extend(Ext.Window, { constructor : function(cfg) { var cfg = cfg || {}; Ext.apply(this, cfg); this.logicForm = new RuleCommand({ pwin : this }); <span style="color: #ff0000;"> LogicWindow.superclass.constructor.call(this, { title : "逻辑网元信息配置", id : 'apWindow', resizable : false, autoScroll : true, width : 1100, height : 300, // bodyStyle : 'padding:5px 0px 5px 5px', plain : true, modal : true, closeAction : 'close', closable:true, items : [ this.logicForm ], // buttonAlign : 'center', // buttons : [ { // text : '添加', // iconCls : 'save', // handler : this.doSave, // scope : this // }, { // text : '修改', // iconCls : 'cancel', // handler : this.doModify, // scope : this // }, { // text : '重置', // iconCls : 'find', // handler : this.doClear, // scope : this // } ] }); },</span> doClose : function() { //this.pwin.close(); }, // /** // * 保存信息 // */ doSave : function() { var o = this.logicForm.getData(); if (o == null) { Ext.MessageBox.alert("系统提示", padBlank + "请完善相关信息!" + padBlank); return; } //this.store.insert(n, new Ext.data.Record(data)); var n=this.pview.store.getCount(); this.pview.store.insert(n, new Ext.data.Record(o)); this.doClose(); }, // /** // * 添加公共信息 // */ // doInsert : function(o){ // var that = this ; // ResApManager.saveAp(o,{ // callback:function(data){ // if(data == -1) { // Ext.MessageBox.alert("系统提示", padBlank + "添加失败!" +padBlank); // } else { // that.doClose(); // Ext.MessageBox.alert("系统提示", padBlank + "添加成功!" +padBlank); // that.pview.getStore().reload(); // } // } // }); // }, // /** // * 修改公共信息 // */ // doUpdate : function(o){ // var that = this; // ResApManager.updateAp(o,{ // callback: function(data) { // if(data == -1) { // Ext.MessageBox.alert("系统提示:", padBlank + "修改失败!" + padBlank); // } else { // that.doClose(); // Ext.MessageBox.alert("系统提示", padBlank + "修改成功!" + padBlank); // that.pview.getStore().reload(); // } // } // }); // } }); /** * @author 网元协议配置 */ // var update_Id = null; /** * @author 网元协议配置 */ // var update_Id = null; RuleCommand = Ext.extend(Ext.form.FormPanel, { constructor : function(cfg) { var cfg = cfg || {}; Ext.apply(this, cfg); this.initialItems(); RuleCommand.superclass.constructor.call(this, { layout : 'form', region : 'center', height : '250', border : false, frame : true, split : true, // viewConfig : { // forceFit : true // }, autoScroll : true, buttonAlign : 'center', buttons : [ { text : '添加', iconCls : 'save', handler : this.doSave, scope : this }, { text : '修改', iconCls : 'cancel', handler : this.doModify, scope : this }, { text : '重置', iconCls : 'find', handler : this.doClear, scope : this } ] // bodyStyle:'margin: 10 0 5px 10px;', }); }, initialItems : function() { this.logicname = new Ext.form.TextField({ fieldLabel : "逻辑网元名称", width : 130, length : 10, allowBlank : false, // 不允许为空 blankText : '该项不能为空!'// 显示为空的提示信息 }); this.logiccode = new Ext.form.TextField({ fieldLabel : "逻辑网元编码", width : 130, length : 10, allowBlank : false, // 不允许为空 blankText : '该项不能为空!'// 显示为空的提示信息 }); this.logicdec = new Ext.form.TextField({ fieldLabel : "逻辑网元描述", width : 130, length : 10, allowBlank : false, // 不允许为空 blankText : '该项不能为空!'// 显示为空的提示信息 }); this.ip = new Ext.form.TextField({ fieldLabel : "服务IP", width : 130, length : 10, allowBlank : false, // 不允许为空 blankText : '该项不能为空!'// 显示为空的提示信息 }); this.port = new Ext.form.TextField({ fieldLabel : "服务端口", width : 130, length : 10, allowBlank : false, // 不允许为空 blankText : '该项不能为空!'// 显示为空的提示信息 }); this.netproname = new Ext.form.ComboBox({ id : 'netproname', emptyText : "请选择...", isFormField : true, width : 130, mode : 'local', allowBlank : false,// 不允许为空 blankText : "不能为空",// forceSelection : true, triggerAction : 'all', fieldLabel : "网元协议名称", displayField : 'text', listWidth : 100, valueField : 'id', store : new Ext.data.SimpleStore({ data : [ [ '1', '合肥' ], [ '2', '芜湖' ], [ '3', '安庆' ], [ '4', '蚌埠' ] ], fields : [ 'id', 'text' ] }), editable : false,// 不允许输入 }); this.netmodel = new Ext.form.ComboBox({ id : 'netmodel', emptyText : "请选择...", isFormField : true, width : 130, mode : 'local', allowBlank : false,// 不允许为空 blankText : "不能为空",// forceSelection : true, triggerAction : 'all', fieldLabel : "网元交互模式", displayField : 'text', listWidth : 100, valueField : 'id', store : new Ext.data.SimpleStore({ data : [ [ '1', '合肥' ], [ '2', '芜湖' ], [ '3', '安庆' ], [ '4', '蚌埠' ] ], fields : [ 'id', 'text' ] }), editable : false,// 不允许输入 }); this.bmodel = new Ext.form.ComboBox({ id : 'bmodel', emptyText : "请选择...", isFormField : true, width : 130, mode : 'local', allowBlank : false,// 不允许为空 blankText : "不能为空",// forceSelection : true, triggerAction : 'all', fieldLabel : "部署模式", displayField : 'text', listWidth : 100, valueField : 'id', store : new Ext.data.SimpleStore({ data : [ [ '1', '合肥' ], [ '2', '芜湖' ], [ '3', '安庆' ], [ '4', '蚌埠' ] ], fields : [ 'id', 'text' ] }), editable : false,// 不允许输入 }); this.fieldSet = new Ext.form.FieldSet({ title : '网元协议配置', width : 1000, height : 150, style : 'margin: 10 0 5px 10px;', items : [ { xtype : 'panel', layout : 'column', style : 'margin: 10px 0px 0px 0px;', items : [ { columnWidth : .3, layout : 'form', labelWidth : 120, items : this.logiccode }, { columnWidth : .3, layout : 'form', labelWidth : 120, items : this.logicname }, { columnWidth : .3, layout : 'form', labelWidth : 120, items : this.logicdec } ] }, { xtype : 'panel', layout : 'column', style : 'margin: 0px 0px 0px 0px;', items : [ { columnWidth : .3, layout : 'form', labelWidth : 120, items : this.netproname }, { columnWidth : .3, layout : 'form', labelWidth : 120, items : this.netmodel }, { columnWidth : .3, layout : 'form', labelWidth : 120, items : this.bmodel } ] }, { xtype : 'panel', layout : 'column', items : [ { columnWidth : .5, layout : 'form', labelWidth : 120, style : 'margin: 0px 0px 0px 0px;', items : this.port }, { columnWidth : .5, layout : 'form', labelWidth : 120, style : 'margin: 0px 0px 0px 0px;', items : this.ip } ] } ] }); this.items = [ this.fieldSet ]; // this.items = [ // // // // this.netComition,this.alarmContent,this.neNameCode,this.suceess,this.commandbak,this.neNameClass,this.flag, // this.fault,this.falgs]; // }, loadData : function(o) { this.logiccode.setValue(o.data.logiccode); this.logicname.setValue(o.data.logicname); this.logicdec.setValue(o.data.logicdec); this.netproname.setValue(o.data.netproname); this.netmodel.setValue(o.data.netmodel); this.bmodel.setValue(o.data.bmodel); this.port.setValue(o.data.port); this.ip.setValue(o.data.ip); }, getData : function() { if (this.getForm().isValid()) { var logiccode = this.logiccode.getValue(); var logicname = this.logicname.getValue(); var logicdec = this.logicdec.getValue(); var netproname = this.netproname.getRawValue(); var netmodel = this.netmodel.getRawValue(); var bmodel = this.bmodel.getRawValue(); var port = this.port.getValue(); var ip = this.ip.getValue(); var o = { logicname : logicname, logicdec : logicdec, netproname : netproname, netmodel : netmodel, bmodel : bmodel, port : port, ip : ip }; return o; } else { Ext.Msg.alert("系统提示", "请完善相关信息"); return; } } }); </pre>   <p> </p>
在中国程序员是青春饭吗?
今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...
深析Synchronized关键字(小白慎入,深入jvm源码,两万字长文)
目录一、synchronized基础1.1synchronized的使用1.1示例1.2验证1.2.1 普通方法和代码块中使用this是同一个监视器(锁),即某个具体调用该代码的对象1.2.2 静态方法和代码块中使用该类的class对象是同一个监视器,任何该类的对象调用该段代码时都是在争夺同一个监视器的锁定1.2、synchronized的特点二、synchronized进阶2.1对象头2.2sy
GitHub 总星 4w+!删库?女装?表情包?这些沙雕中文项目真是我每天快乐的源泉!
大家好,我是 Rocky0429,一个喜欢在 GitHub 上瞎逛的蒟蒻… 好看的皮囊千篇一律,有趣的灵魂没有底线。作为全球最大的同性交友网站,GayHub GitHub 上不止有鲜活的代码,秃头的算法,还有很多拥有有(sha)趣(diao)灵魂的宝藏。 还记得我之前给大家介绍的 Sorry 项目嘛,一个可以自己做表情包的项目,这个的沙雕程度在下面这些项目面前只能算弟弟。虽然说沙雕不分国...
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
20道你必须要背会的微服务面试题,面试一定会被问到
这篇博客总结了面试中最常见的微服务面试题,相信对你有所帮助。
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
Python 和 JavaScript 是目前最火的两大编程语言,但是2020 年,什么编程语言将会取而代之呢? 作者 |Richard Kenneth Eng 译者 |明明如月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: Python 和 JavaScript 是目前最火的两大编程语言。然而,他们不可能永远屹立不倒。最终,必将像其他编程语言一...
C语言数字图像处理---1.4直方图拉伸和直方图均衡化
本篇将延续上一篇的内容,对直方图进行扩展,讲述直方图拉伸和直方图均衡化两个内容,并通过简单的C语言来实现这两个基础功能,让初学者通俗易懂。
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
没用过这些 IDEA 插件?怪不得写代码头疼
使用插件,可以提高开发效率。对于开发人员很有帮助。这篇博客介绍了IDEA中最常用的一些插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
推荐一些有趣的在线编程游戏
1.Robocode 让坦克们互相博弈的游戏,你可以看到它们飞奔,碾碎一切挡道的东西。机器人配有雷达与火炮,选手在躲避对手进攻的同时攻击对手,以此来较量得分的多少。这个游戏很有意思,曾经令我沉迷… 你可以用Java、Scala、C#等编程语言,编写人工智能程序,驱动机器人。 2.Code Combat Code Combat是一款学习编程的角色扮演游戏。每一关都用任务的形式设立目标,用实时的反馈...
工作十年的数据分析师被炒,没有方向,你根本躲不过中年危机
2020年刚刚开始,就意味着离职潮高峰的到来,我身边就有不少人拿着年终奖离职了,而最让我感到意外的,是一位工作十年的数据分析师也离职了,不同于别人的主动辞职,他是被公司炒掉的。 很多人都说数据分析是个好饭碗,工作不累薪资高、入门简单又好学。然而今年34的他,却真正尝到了中年危机的滋味,平时也有不少人都会私信问我: 数据分析师也有中年危机吗?跟程序员一样是吃青春饭的吗?该怎么保证自己不被公司淘汰...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
张朝阳回应迟到 1 分钟罚 500:资本家就得剥削员工
loonggg读完需要2分钟速读仅需 1 分钟大家我,我是你们的校长。前几天,搜狐的董事局主席兼 CEO 张朝阳和搜狐都上热搜了。原因很简单,就是搜狐出了“考勤新规”。一封搜狐对员工发布...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共3526字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
立即提问