G4studio教程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
取待分词的值.
Ajax请求. Ajax请求地址.
(看到mypage.do?熟悉吧?想起我们之前在xml中 配置的东西了吗??你应该知道urlInit是 LogicalControl.java中的一个函数,一会我们去写 这个函数)
请求成功后的处理逻辑 把结果在下面板中展示.
下面该到java类中写urlInit这个函数了.
在jsp中加入下面一句:
4.编写页面:
这句的意思是将js脚本引入当前页面. 在路径下建 立这个js文件.并打开它进行编写.
Fra Baidu bibliotek
页面为何要写在js里???因为我们要用extJS写页面啊~~~看着方便,拿出去写啊~~
作为例子,我们写一个这样的页面:
点击分词的时候发送ajax请求请求分词结果, 并把传回结果显示在下面的面板
//sorth面板 显示结果 var sorthPanel = new Ext.FormPanel({ region : 'center', margins : '3 3 3 3', title : '<span class="commoncss">分析结果</span>', // 标题 collapsible : false, // 是否允许折叠 name:'panel', //width : 400, frame:true, //bodyStyle : 'background-color:#ffffff', height : '600', width : '100%', layout:'anchor', items : [ { bodyStyle : 'background-color:#ffffff', anchor:'100% 100%', frame:true, id : 'urlresult', contentEl : 'result', }] });
viewport:
把刚才写的两个panel加进去
到现在可以显示的页面完成了,但是button 的响应函数还没有实现.
不妨先运行一下看看页面写的对不对~~
Oh yeah~~页 面正确!~ 下面来写button 按钮的响应函数
analysisCallBack();
function analysisCallBack(){ if (!northPanel.form.isValid()){ return; } var params = northPanel.getForm().getValues(); var text = Ext.getDom("wordinput").value;//north面板的 textarea值 //分词逻辑 Ext.Ajax.request({ url : ‘mypage.do?reqCode=urlInit', type:'GET', success : function(response){ var resultArray = Ext.util.JSON.decode(response.responseText); Ext.get('result').dom.innerHTML = resultArray.result; }, failure : function(response) { Ext.MessageBox.alert('提示失败'); }, params : params }); };
页面源码可参考:文本数据预处理分词管理界面
写 代 码 :
var northPanel = new Ext.FormPanel({ region : 'north', margins : '3 3 3 3', title : '<span class="commoncss">查询语句</span>', height : 170, width : '100%', name : 'remark', bodyStyle : 'padding:5 5 0', layout:'anchor', bbar : new Ext.FormPanel({ id:'submit', frame:true, border:false, layout:'hbox',//设置水平放置 defaultType:'button', items:[ { text:"分词", width:110 , id:'fenci', name:'fenci', handler:function(){ analysisCallBack(); } } ]}), items : [{ fieldLabel : '', labelAlign : 'left', xtype : 'textarea', id:'wordinput', frame:true, name : 'wordinput', emptyText : '请输入分析', anchor:'100% 94%', }]});
在strits-config-function.xml中添加action节点. 让path=“/mypage”
type是要转入的(servlet)类的地址.如果没有的话,我 们要新建好这个类.接下来转到这个类:
在logicalControl类中添加决策函数:
• 类名与我们写url时的最后一个reqCode的参数值相同 • findForward的参数要与我们在strits-config-function.xml中写的forward的 name名相同.
页面的对象分析:
上面板: name:查询语句 在底部工具栏中有一个button button的响应事件: { 1.取上面板中输入的文字内容. 2.发送ajax请求到指定的url,(url中包含第1步取到的文字) 3.将url传送回来的结果展示到下面板中. } 下面板: name:分析结果
sorthPanel:
region是center
面板里都有些啥? 面板背景 白色 面板的文字内容
观察到我这里既没有写xtype,也没有写 defaultType,那么它默认内容是面板.也 就是说,sorthPanel里面放了一个面板
这里设置成’result’,并在jsp中加入如下语句:
// 布局模型 var viewport = new Ext.Viewport({ layout : 'border',//支持多层嵌套,里面的子元素要写上 region的属性 items : [northPanel, sorthPanel] });
②选中要添加条目的父节点,点击新增.
③填写内容.
function/mypage.do?reqCode=mypageInit
这个地址很重要,是当左侧的条目点击时,所发送的请求 地址.
接下来对这个地址进行 配置,使之有效请求相应 的页面.
3.配置地址: function/mypage.do?reqCode=mypageInit
这里我在body中写了”我的页面”四个字. 注意: 其他语句是在使用G4STUDIO时必须加上的语句.title可以随意改一下.
改完之后,页面的跳转配置就配置完了,我们来看一下效果,停止服务,重启程序.运行网 页.点击到我的页面节点.看效果.
哈哈,我的 页面出来了 吧~~~~
接下来我们往页面里加些 实用的东西.
public static String sendGet(String url) { String result = ""; BufferedReader in = null; try { String urlNameString = url; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } System.out.println(result); } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; }
northPanel:
region是north
面板的底部工具栏
面板的底部工具栏的控件默认为button 工具栏里都有些啥?
里面有一个text为分词的button,
点击这个button,会执行里面的函数.
一会别忘了去实现这个函数!~analysisCallBack();
面板里都有些啥 有一个textarea多行文本输入域 Id叫textarea 取内容的时候会用到这个id
• forward的 path是要显示 的jsp的地址. 没有的话要建 立一下这个jsp.
• 为何要建在function文件夹内?因为我们 写url地址的时候最开始写的是 function/…
function/mypage.do?reqCode=mypageInit
建好jsp以后,我们往里写些文字,先让其展示出来.
在G4studio中新建一个标签页,并实现功能的完整过程.
需求:
添加一个叫做”我的页面”的功能页, 并在页面中有一个[输入框textarea],一个[确定按钮],一个[展示面板] 在输入框中输入汉字内容,点击确定按钮,在[展示面板]中展示分词结果. 分析过程用外网url的请求.结果直接传回.
效果图:
public ActionForward urlInit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { BaseActionForm cForm = (BaseActionForm) form; Dto inDto = cForm.getParamAsDto(request); inDto.put("myname", getSessionContainer(request).getUserInfo().getUsername()); Dto outDto = demoService.callPrc(inDto); String key = "Z1X5J4k6pscaoatdVXKgXYZbtytPtgyTPfwQPIuB"; String words = inDto.getAsString("wordinput") ; String url = "http://api.ltpcloud.com/analysis/?api_key="+key+"&text="+words+"&pattern=ws&format=plain"; String result = sendGet(url); outDto.put("result", result); outDto.put("success", new Boolean(true)); //outDto.put("msg", "存储过程调用成功"); super.write(outDto.toJson(), response); return mapping.findForward(null); }
1.启动服务并运行程序:
①按照启动java程序的方法,将 StartUp.java启动.
②控制台会输出程序访问的地址:
③将地址复制到浏览器地址栏中,并输入用户名和密码:
用户名: developer 密码: 1
2.添加菜单条目:此例中:在[信息接口API]中添加新的条目”我的页面”
①进入系统后,点开 系统管理权限管理菜单资源管理.