-
下拉框取值问题10
if (sc != null) {
for (int i = 0; i < sc.size(); i++) {
buffer.append("<option value=\"").append(
soi.getValue(i, valueNodeName).toString()).append("\"");
if (_selectValue != null
&& _selectValue.equals(soi.getValue(i, valueNodeName).toString())) {
buffer.append(" selected");
}
buffer.append(">").append(soi.getValue(i, descNodeName).toString())
.append("</option>");
}
}
这段代码是设置jsp页面中的下拉框的值,
private String subStringBySelect(final String str) {
Pattern pat = Pattern.compile("selected>[^>]+</option>");
Matcher mat = pat.matcher(str);
String str1 = null;
while (mat.find()) {
str1 = mat.group(0);
}
int star = 9;
int end = str1.length() - 9;
if (star > end)
return "";
return = str1.substring(star, end);
}
这是取下拉框的值,为什么Pattern pat = Pattern.compile("selected>[^>]+</option>");必须这样写才能取到,其余的的写法取不到,Pattern.compile,pat.matcher(str)这两个表示什么意思,请给位赐教
问题补充:mat.find()又是怎么样匹配的2012年10月16日 19:57
2个答案 按时间排序 按投票排序
-
首先要理解java的正则表达式,
selected>[^>]+</option>就是一个正则表达式。
对于给定的字符串,按照下面的规则进行匹配:
1.先是以selected>开头
2.selected>后面是>以外的任意字符(1个或者n个)
3.最后以</option>结尾
对于一个规则,正则表达式可能有多种写法,也不一定非得
按照selected>[^>]+</option>这么写,只要准确地表达了
自己的需求就可以。
比如:除了>,你还希望selected>后面不能包含#,那么就可以把
正则表达式修改为selected>[^>#]+</option>
Pattern.compile用来定义正则表达式。
pat.matcher(str)是用之前定义的正则表达式对str进行匹配。
如果有符合匹配规则的字符串,那么mat.find()就会返回true。
接着用str1 = mat.group(0)获取匹配到的字符串。
然后通过str1.substring从str1中截取想要的子串。
比如:对下面的下拉框选项的html文进行处理。
<option value="test" selected>test</option>
先通过正则表达式匹配到selected>test</option>子串,然后
用str1.substring截取到test。
public static void main(String[] args){ String str = "<option value=\"test\" selected>test</option>"; Pattern pat = Pattern.compile("selected>[^>]+</option>"); Matcher mat = pat.matcher(str); String str1 = null; while (mat.find()) { str1 = mat.group(0); System.out.println(str1); } int star = 9; int end = str1.length() - 9; if (star > end){ return; }else{ System.out.println(str1.substring(star, end)); } }
输出结果:
selected>test</option>
test2012年10月17日 17:09
-
这样把 buffer 的字符打印出来,在html中允许,或者直接在html中运行,把正确的html和打印的html做一个对比。
2012年10月17日 09:16
相关推荐
在许多业务场景中,我们可能需要在GridView的某一列中嵌入下拉框(ComboBox),以便用户可以选择特定的值。本篇将深入探讨如何在GridView中实现下拉框,并从中获取用户选择的值。 首先,我们需要创建一个GridView,...
在描述中提到的“试卷生成”环节,可能存在下拉框取值问题。这可能涉及到ASP编程中的数据绑定和用户界面设计。在创建试卷时,通常会涉及到选择题型,如单选题、多选题,这时候就需要用到下拉框来展示可选项。下拉框...
### Jquery模拟SELECT下拉框取值效果知识点 在Web开发中,下拉选择框(SELECT元素)是一种常见的用户交互控件,它允许用户从一系列预设选项中选择一个或多个选项。然而,原生的SELECT元素在外观和用户体验上可能受...
目前的下拉框dropdownlist、select就是简单的选择,如果遇到内容过多会很难找出想找的选项,我用简单的js文件将现在的下拉框改成下拉模糊搜索框,支持汉字拼音首字母模糊匹配和字符串字串匹配,本代码的强大在于扩展...
问题1:如何在 StringGrid 某单元格中显示 ComboBox 为了在 StringGrid 中显示 ComboBox,我们可以使用 OnDrawCell 事件。在这个事件中,我们可以根据单元格的位置和状态来决定是否显示 ComboBox。例如,我们可以...
此外,合理设置`keep.parent`和`check.chkboxType`属性可以避免不必要的全选/全不选问题。 7. **兼容性和适配**:确保zTree在不同浏览器和设备上的表现一致性,这可能需要对CSS和JavaScript代码进行调整,以适应...
关于“取值”,在Layui的多选下拉框中,你可以通过JavaScript事件来获取用户的选择。当用户完成选择后,可以监听“change”事件,然后通过`.val()`方法获取选中项的值,这些值通常是以逗号分隔的字符串形式返回。 ...
内容索引:脚本资源,jQuery,Select,动态取值,下拉框 jQuery Select下拉框动态取值实例程序,也就是当选择下拉框的时候,值才会被读出来,读取过程中显示“Loading……”,以前用JavaScript可以实现这功能,不过现在...
3. 如果使用同步请求,注意其可能带来的性能问题,考虑改为异步请求并在回调中处理数据。 通过这种方式,你可以根据业务需求动态地更新 jQGrid 中 select 下拉框的选项,提高用户界面的灵活性和实用性。同时,了解...
下面详细介绍如何在Vue.js中实现select下拉框的绑定和取值方法。 首先,我们要了解什么是v-model指令。v-model是一个语法糖,它是v-bind和v-on指令的结合体。v-model指令在表单元素(如input、select和texterea)上...
Select下拉框的问题,想在选择一个选项后,前台显示做出变动,并且知道选择的是第几个选项。 这个很好解决: 如下: <select class=form-control onchange=selectOnchang(this)> 男装 女装 童装</opti
Vue Element 中 Select 下拉框选取值的问题 在 Vue Element 中,Select 下拉框是非常常用的一个组件,它可以让用户快速地选择某个选项。但是,在实际开发中,我们经常会遇到一些问题,例如如何获取选中后的值、如何...
《layui-多选下拉框-xm-select:前端开发中的高效解决方案》 在现代Web开发中,用户界面的交互性和易用性是至关重要的。layui框架以其轻量级、高效和丰富的组件库,成为了众多开发者青睐的选择。尤其在构建多选...
layui 的form表单里的select 一开始以为加上lay-verify=”required”就可以验证不空了,可是反复试了几次都不能验证 代码如下: 所属工种: <select name=work_id lay-verify=required lay-search>...
在Django中,Form是处理用户输入数据的重要工具,它允许开发者自定义表单的结构、验证规则以及渲染方式。本篇文章将详细讲解如何在Django Form中自定义`ChoiceField`,使其下拉菜单的选项从数据库中动态获取。...
其中,Bootstrap下拉框是一种常用组件,允许用户从一系列选项中选择一个或多个选项。在前端开发中,经常需要从服务器端动态获取数据,并更新下拉框的选项,这就涉及到动态赋值的技术。 在介绍动态赋值方法之前,...
本文将详细介绍如何使用jQuery来操作下拉框(DropDownList)进行取值和赋值。 首先,要获取下拉框中选中项的值,可以使用jQuery的`.val()`方法来获取选中项的Value值,这是实际存储在HTML标签中`value`属性的值。...