小编sim*_*mon的帖子

如何删除内联的CSS元素样式(不使用JavaScript)?

我在样式表文件中为特定的HTML元素指定了样式,如下所示


label {
  width: 200px;
  color: red; 
}
Run Code Online (Sandbox Code Playgroud)

在一个特例中,我想在HTML文档中使用label元素,但忽略为label元素指定的样式(仅适用于文档中的一个实例).有没有办法以通用的方式实现这一点而不用内联样式覆盖元素样式属性


<label for="status">Open</label>
Run Code Online (Sandbox Code Playgroud)

重申一下,对于显示标签的HTML代码,应用了元素样式(宽度为200像素,红色).我希望使用默认样式属性(不知道它们是什么),而不必知道元素样式设置中具体指定的内容.

html css inheritance overriding

13
推荐指数
2
解决办法
4万
查看次数

使用JavaScript Prototype库循环遍历所有选择元素

我怎么能(如果可能的话)使用Prototype库遍历页面上的所有选择元素并访问该元素?在文档中,我发现了用于引用具有某些id,类名等的元素的简单快捷方式,但没有对具有某些标记名称的元素的引用.

如果Prototype无法做到这一点,那么可以使用JQuery或其他JS库的示例.

javascript loops html-select prototypejs

12
推荐指数
1
解决办法
2万
查看次数

触摸打字员如何在vi中导航?

我正在学习vi,因为我很欣赏编辑器的巨大可能性,并且必须使用纯文本编辑器来完成我当前的项目.在许多教程中,我已经读过,为了速度,建议使用键"h","j","k"和"l"而不是箭头键.

然而,作为触摸打字员,我的手指通常处于a,s,d,f(左手)和j,k,l和ö(右手[德国键盘])的默认位置.在vi中导航需要有效地将右手放在h,j,k和l的默认位置.这使得正确地写文本,因为我经常注意到我开始输入文本,当我的右手处于"vi右手位置"而不是"触摸键入右手位置"时.

作为触摸打字员,您是否已根据vi模式调整手部记忆,或者您是否找到了其他解决方案?我很感激经验丰富的触摸打字员使用vi的经验和技巧.

navigation keyboard vi touch-typing editor

12
推荐指数
1
解决办法
2953
查看次数

使用spring:message在Spring Web应用程序中定义表单标记属性

我正在开发一个Java/Spring Web应用程序.我目前面临的问题是,我希望将message.resources中的消息显示为HTML中的属性.

<input type="submit" name="login" value="login" />
Run Code Online (Sandbox Code Playgroud)

因此,而不是硬编码值"登录"我需要的值

<spring:message code="general.submit" />作为该输入标记的value属性.由于页面都是xml,因此无法嵌套标签

<input type="submit" name="login" value="<spring:message code="general.submit" />" />
Run Code Online (Sandbox Code Playgroud)

因为它不编译.当然,我可以读取Java控制器中的值并使用JSTL变量来显示值,但我认为它太过于hackish和复杂,特别是对于具有大量提交按钮的页面.是否有某种优雅的方式来完成我想做的事情?

java xml forms spring web-applications

12
推荐指数
1
解决办法
1万
查看次数

使用Hibernate Criteria进行不区分大小写的排序

我有一个使用Hibernate Criteria创建的查询,如下所示:


Criteria criteria = db.getSession().createCriteria(Vendor.class);
criteria.addOrder(Property.forName("shortName").asc());
List<Vendor> vendorList = criteria.list();
Run Code Online (Sandbox Code Playgroud)

我希望排序不区分大小写,相当于HQL查询


FROM Vendor ve ORDER BY lower(ve.shortName)
Run Code Online (Sandbox Code Playgroud)

如何使用Hibernate Criteria实现这一目标?

java sorting hibernate criteria case-insensitive

9
推荐指数
1
解决办法
8771
查看次数

将代理键添加到现有Oracle DB表的首选方法

我必须使用几千条记录修改Oracle 10g DB中的现有表,以添加代理自动编号密钥.我想到的一种方法是

  1. 创建一个新序列
  2. 创建id列,允许空值
  3. 使用序列更新id列
  4. 更改表以为新id列添加"not null"和"primary key"

有没有更简单或更有效的方法来做到这一点(或者有什么理由说这不起作用)?

database oracle surrogate-key

8
推荐指数
1
解决办法
4866
查看次数

如何以类型安全的方式运行 Hibernate NativeQuery 而不是返回 Object[]

我正在将应用程序从 Hibernate 4.x 迁移到 Hibernate 5.3.6。该应用程序有这样的查询:

SQLQuery query = getSession().createSQLQuery("SELECT a.a, a.b, a.c FROM aTable");
Run Code Online (Sandbox Code Playgroud)

由于createSQLQuery方法已被弃用,我首先用 Hibernate Javadoc 中建议的替代方法替换了方法调用,即使用 createNativeQuery:

NativeQuery query = getSession().createNativeQuery("SELECT a.a, a.b, a.c FROM aTable");
Run Code Online (Sandbox Code Playgroud)

这样做的问题是它会产生一个编译器警告“NativeQuery 是原始类型。对泛型类型 NativeQuery 的引用应该被参数化”。此外,当然我想从类型化查询中受益,现在它们可用。所以我将查询更改为

NativeQuery<Object[]> query = getSession().createNativeQuery("SELECT a.a, a.b, a.c FROM aTable", Object[].class);
Run Code Online (Sandbox Code Playgroud)

现在的问题是执行查询

List<Object[]> retList = query.list();
Run Code Online (Sandbox Code Playgroud)

产生错误

javax.persistence.PersistenceException:org.hibernate.MappingException:未知实体:[Ljava.lang.Object;

研究这个问题似乎表明在使用类型化本机查询时不可能使用非映射实体(这似乎是一个严重且不必要的限制,但我在这里离题了)。

问题是:有没有什么方法可以实现类型安全的同时执行本地 SQL 查询,使用 Hibernate 返回一个对象数组,而不会产生编译器警告?如果没有,是否有任何明智的选择?

java sql orm hibernate jpa

8
推荐指数
1
解决办法
4652
查看次数

同时使用Excel作为前端访问数据库 - 可行吗?

假设您有一个包含大约200,000行的最大表的数据库,并且经常被修改.客户端希望Excel通过ODBC连接到数据库,并作为前端来管理数据.数据最多可同时由多达25个用户修改.

我的第一直觉是推荐其他东西,例如网络前端.但是假设客户坚持使用Excel解决方案,您认为它是否可行,您会看到哪些陷阱?

我的怀疑是:

  1. 数据完整性(如何管理用户同时修改相同数据)
  2. 大量数据不必要地移动(打开Excel工作簿时,我想必须传输整个数据库)
  3. 安全性(以安全的方式向适当的用户显示部分数据将具有挑战性 - 请参阅前一点)
  4. 使用工具(Excel)的东西,它不擅长(原谅双关语)

database excel frontend

7
推荐指数
1
解决办法
1240
查看次数

了解Oracle别名 - 除非在第二个查询中包含,否则为什么查询中不能识别别名?

我有一个问题


SELECT COUNT(*) AS "CNT",
       imei
FROM   devices  
Run Code Online (Sandbox Code Playgroud)

执行得很好.我想用WHERE语句进一步限制查询.(人性)逻辑下一步是随后修改查询:


SELECT COUNT(*) AS "CNT",
       imei
FROM   devices
WHERE  CNT > 1 
Run Code Online (Sandbox Code Playgroud)

但是,这会导致错误消息ORA-00904:"CNT":标识符无效.出于某种原因,将查询包装在另一个查询中会产生所需的结果:


SELECT *
FROM   (SELECT COUNT(*) AS "CNT",
               imei
        FROM   devices
        GROUP  BY imei)
WHERE  CNT > 1  
Run Code Online (Sandbox Code Playgroud)

为什么Oracle在第二个查询中无法识别别名"CNT"?

sql oracle alias plsql

7
推荐指数
3
解决办法
1万
查看次数

IE 8-9长循环的JavaScript问题

我在IE 8-9中得到了以下坚持的JS问题,在其他浏览器中,我的代码工作得非常好.

案例:我在JS中有以下代码,它应该启动一些服务器进程并更新进度条,其中包含服务器端的状态,Jquery UI提供的内容:

 $("#btnSendUser").click(function (event) {                
                $.ajax({
                    type: "POST",
                    url: "/StartLongProcess",
                    dataType: "json",
                    traditional: true,
                    data: { userIds: users },
                    success: function (result) {
                        console.log("Process start");
                    }
                });
                var processId = 0;
                getStatus(processId);
            });

        function getStatus(processId) {
            var url = '/GetStatus';
            $.get(url, { clientProcessId: processId }, function (data) {
                if (!data.IsDone) {
                    $("#progress").progressbar({ value: data.Progress });                                        
                    window.setTimeout("getStatus(" + processId + ")", 350);
                }
                else {
                    $("#progress").progressbar({ value: 100 });      
                    console.log("Done");                                                            
                };
            });                                  
        }
Run Code Online (Sandbox Code Playgroud)

在当前控制器的StartLongProcess方法中,我以这种方式启动长服务器进程:

[ValidateInput(false)]
        public void …
Run Code Online (Sandbox Code Playgroud)

javascript jquery internet-explorer jquery-ui asp.net-mvc-3

7
推荐指数
1
解决办法
446
查看次数