小编Dav*_*vis的帖子

阅读Web应用程序资源

背景

开发一个简单的Web应用程序(Eclipse + JBoss + Apache Tomcat)来生成XML文件.

问题

"业务范围"列表针对数据库进行查询,"列群集"列表使用所选的"业务范围"项查询数据库.这两个都是存储外部文本文件的唯一查询.

这些文件目前存储在以下位置:

  • 的WebContent/META-INF /业务areas.sql
  • 的WebContent/META-INF /列clusters.sql

然后将它们用于播种PreparedStatement.

源代码

读取SQL代码的方法可能类似于:

  private String getSQL() {
    String result = "";

    try {
      BufferedReader br = open( "business-areas.sql" );
      String line = null;

      while( (line = br.readLine()) != null ) {
        result += line;
      }

      br.close();
    }
    catch( Exception e ) {
      e.printStackTrace();
    }

    return result;
  }
Run Code Online (Sandbox Code Playgroud)

问题

我想知道:

  1. 存储此类资产以作为Web应用程序的一部分进行部署的最佳实践是什么?(也就是说,这是META-INF一个好位置,还是META-INF/resources首选?)
  2. 您建议使用哪些API来读取文件内容?(也就是说,如何编写open方法以便找到要打开的文件?)

我已经有JNDI来建立数据库连接,但如果可能的话,宁愿不使用JNDI来获取文件的句柄.

相关网站

谢谢!

java jsf jboss servlets web-applications

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

Jasper报告中空字段的默认值

背景

ResultSet有许多Double值字段(具有类似的模式"###0.000").有些值可以null.

问题

我想替换null"N/A",这是一个String,不能打印到Double字段.打印"0.00"null值是不可接受的.

使用PrintWhenExpression值($F{value} != null) ? $F{value} : "N/A"不起作用; 不可能以这种方式使用模式.

理念

添加写入"N/A"的隐藏字段.仅当值为时,才会打印这些字段null.

是否有更好的解决方案,如果有,它是什么?

谢谢.

jasper-reports ireport textfield

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

动态列单元格宽度

我有一些以HTML格式显示的Jasper报告.我希望HTML表格中列的宽度自动调整大小以适应最宽单元格(在该列中)的内容,以便显示所有数据.

目前这不会发生,因为Jasper生成的HTML指定了<table>和一些<td>元素的固定宽度,例如

<td style="width: 20px; height: 17px;">
  <span style="font-family: Arial; font-size: 11px;">foo-bar-baz@examp</span>
</td>
Run Code Online (Sandbox Code Playgroud)

我不能简单地删除所有这些宽度属性(使用JavaScript),因为(如上面的HTML所示)使用这些宽度时隐藏的任​​何数据甚至不会返回到客户端

干杯,唐

html java jasper-reports

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

带有自定义图像和文本的表单按钮

表单按钮具有170x60图像,用于非按下和按下状态.我似乎无法做到的是按钮中的文本.我真的想避免编辑图像并直接将文本写入其中.现在我正在使用:

<input type="image" src="img/button_normal.png"
 width="175" height="60" onmousedown="this.src='img/button_pressed2.png'"
 onmouseup="this.src='img/button_normal.png'"> 
Run Code Online (Sandbox Code Playgroud)

我认为不可能在文本之上进行这项工作(据我所知).所以,我尝试使用,<button>但我无法让它工作.

我已经能够将文本放在上面的图像上,但是文本在哪里,按钮是不可点击的,这不起作用.

这个问题有什么解决方案?

html css image button

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

Android开发工具

我想使用Linux开发环境破解我的新Android手机.

你会推荐什么工具?

linux android

5
推荐指数
1
解决办法
849
查看次数

删除冗余的SQL代码

下面的代码计算线性回归的斜率和截距,以防止数据泄漏.然后,它将方程应用于y = mx + b相同的结果集,以计算每行的回归线的值.

如何连接两个查询,以便计算数据及其斜率/截距而不执行该WHERE子句两次?

问题的一般形式是:

SELECT a.group, func(a.group, avg_avg)
FROM a
    (SELECT AVG(field1_avg) as avg_avg
     FROM (SELECT a.group, AVG(field1) as field1_avg
           FROM a
           WHERE (SOME_CONDITION)
           GROUP BY a.group) as several_lines -- potentially
    ) as one_line -- always
WHERE (SOME_CONDITION)
GROUP BY a.group -- again, potentially several lines
Run Code Online (Sandbox Code Playgroud)

SOME_CONDITION执行了两次.如下所示(通过STRAIGHT_JOIN优化更新):

SELECT STRAIGHT_JOIN
  AVG(D.AMOUNT) as AMOUNT,
  Y.YEAR * ymxb.SLOPE + ymxb.INTERCEPT as REGRESSION_LINE,
  Y.YEAR as YEAR,
  MAKEDATE(Y.YEAR,1) as AMOUNT_DATE,
  ymxb.SLOPE,
  ymxb.INTERCEPT,
  ymxb.CORRELATION, …
Run Code Online (Sandbox Code Playgroud)

mysql sql postgresql code-duplication ireport

5
推荐指数
1
解决办法
953
查看次数

如何为oracle数据库视图创建注释

我真的想为一个视图创建一个评论,并简要描述其目的.不幸的是,无法在oracle中为视图创建注释.此功能仅适用于表,列和物化视图.我想知道你是如何描述数据库视图的?

oracle views code-documentation

5
推荐指数
2
解决办法
9929
查看次数

使用动态类引用时禁止警告

背景

现有系统HashMap通过其Generics类创建了大量实例:

import java.util.Map;
import java.util.HashMap;

public class Generics {
  public static <K,V> Map<K, V> newMap() {
    return new HashMap<K,V>();
  }

  public static void main( String args[] ) {
    Map<String, String> map = newMap();
  }
}
Run Code Online (Sandbox Code Playgroud)

这是实现Map接口的所有类实例的单点创建.我们希望能够在不重新编译应用程序的情况下更改地图实现.这将允许我们使用Trove THashMap,例如,优化应用程序.

问题

THashMap由于许可条件,该软件无法与Trove捆绑在一起.因此,如果有一种方法可以指定要在运行时实例化的地图名称(对于那些没有此类许可限制的人),那将会很棒.例如:

import java.util.Map;
import java.util.HashMap;

import gnu.trove.map.hash.THashMap;

public class Generics {
  private String mapClassName = "java.util.HashMap";

  @SuppressWarnings("unchecked")
  public <K,V> Map<K,V> newMap() {
    Map<K,V> map;

    try {
      Class<? extends Map<K,V>> c = (Class<Map<K,V>>)Class.forName(
        getMapClassName() …
Run Code Online (Sandbox Code Playgroud)

java generics instantiation hashmap map

5
推荐指数
1
解决办法
245
查看次数

Nhibernate QueryOver不会获得最新的数据库更改

我正在尝试从数据库更新记录QueryOver.我的代码最初创建一个实体并保存在数据库中,然后在外部数据库上更新相同的记录(从其他程序,手动或在其他机器上运行的相同程序),当我queryOver通过字段更改调用过滤时,查询得到记录,但没有最新的变化.

这是我的代码:

//create the entity and save in database
MyEntity myEntity = CreateDummyEntity();
myEntity.Name = "new_name";

MyService.SaveEntity(myEntity);

// now the entity is updated externally changing the name property with the 
// "modified_name" value (for example manually in TOAD, SQL Server,etc..)

//get the entity with QueryOver
var result = NhibernateHelper.Session
                 .QueryOver<MyEntity>()
                 .Where(param => param.Name == "modified_name")
                 .List<T>();
Run Code Online (Sandbox Code Playgroud)

前一个语句获取的集合只有一个记录(好),但是使用旧值而不是"modified_name" 建立了name属性.

我怎么能解决这个问题?一级缓存令我不安?出现同样的问题

CreateCriteria<T>();
Run Code Online (Sandbox Code Playgroud)

我的NhibernateHelper中的会话在任何时候都没有因应用程序框架要求而关闭,只是为session.Save()关联的每个提交创建了事务.如果我打开一个新会话来执行查询显然我从数据库中获得了最新的更改,但设计要求不允许这种方法.

此外,我已经在NHibernate SQL输出中检查了正在执行带有WHERE子句的select(因此Nhibernate命中数据库)但是不更新返回的对象!

UPDATE

这是调用session.Save之后SaveEntity中的代码:完成对Commit方法的调用

public virtual void Commit() 
{ …
Run Code Online (Sandbox Code Playgroud)

nhibernate nhibernate-criteria queryover

5
推荐指数
1
解决办法
5448
查看次数

在JavaScript中实现撤消功能

如何在javascript中实现ctrl z?

经过无数谷歌搜索,我偶然发现了execCommand:

我正在使用document.execCommand("undo", false, null),但它不适用于Firefox.

我输入了第二个和第三个参数,即使它们在Firefox中是可选的.

任何想法,见解,建议,例子等?

javascript

5
推荐指数
1
解决办法
1014
查看次数