问题列表 - 第18800页

将依赖项注入静态字段

我想在servlet中使用模板引擎.具体的模板引擎实现应该可以在TemplateEngine界面后面更改.通常依赖注入它可能看起来像这样:

public abstract class BaseServlet extends HttpServlet {

    private TemplateEngine templateEngine;

    public void setTemplateEngine(TemplateEngine te) {
      templateEngine = te;
    }

    protected void render(Result result, HttpServletResponse response) {
      templateEngine.render(result, resonse);
    }

}
Run Code Online (Sandbox Code Playgroud)

这种方法的缺点是每个想要使用render方法的Servlet都必须扩展BaseServlet.因此,我想要一个静态导入的渲染方法.

public class TemplateEngineWrapper {

  @Inject
  static TemplateEngine templateEngine;

  public static void render(Result result, HttpServletResponse response) {
    templateEngine.render(result, resonse);
  }

}
Run Code Online (Sandbox Code Playgroud)

在Servlet中我会这样使用它:

import static TemplateEngineWrapper.render;

...

public void doGet(...) {
  render(new Result(200, "Everything is fine."), response);
}

...
Run Code Online (Sandbox Code Playgroud)

这种方法有问题吗?如果是这样的话:你会建议什么呢?

java servlets dependency-injection

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

SQL n对n匹配多个值

我有一个将图像与标签匹配的Web应用程序,我需要创建一种动态优化标签搜索结果的方法.但是,我找不到一个干净的方法来进行SQL查询,这就是我需要你帮助的地方.

我的想法是,如果我搜索标签"干净"和"狗",我将得到图像结果,标签"干净"和"狗".如果我还包含标签"little",我的结果将必须缩小到与三个标签相关联的图像.

那么,有一个N对N的关系,这是正确的方法吗?

我的自然方法是生成这样的代码,但我当然不喜欢它的发展方向:

SELECT images.*
FROM images
INNER JOIN image_tags ON ...
INNER JOIN tags ON ...
WHERE tags.tag = @tag1
AND EXISTS
(
  SELECT 1
  FROM images 
  INNER JOIN image_tags ON ...
  INNER JOIN tags ON ...
  WHERE tag = @tag2
  AND EXISTS
  (
    SELECT 1
    FROM images 
    INNER JOIN image_tags ON ...
    INNER JOIN tags ON ...
    WHERE tag = @tag3
    AND EXISTS (...)
    ...
  )
)
Run Code Online (Sandbox Code Playgroud)

当然,那不是很好.任何的想法?

谢谢!

sql

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

这个条件测试什么?

在一些未注释的Objective-C代码中遇到了这个条件:

if (w & (w - 1))
{
    i = 1;
    while (i < w)
    {
        i *= 2;
    }
    w = i;
}
Run Code Online (Sandbox Code Playgroud)

哪里wsize_t大于1.

更新:添加条件for context包含的代码.

c objective-c

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

DateTime.ParseExact字符串格式异常

我正在尝试使用以下C#代码将字符串转换为datetime,

DateTime dTo = DateTime.ParseExact(dateTo, "mm/dd/yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

每次我将dateTo传递给2010年1月1日它失败,而是需要字符串为01/01/2010.

我应该使用什么字符串格式来支持01/01/2010和1/1/2010?

c# string datetime parsing

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

"foo包含bar"的CSS选择器?

可能重复:
是否有CSS父选择器?

有没有办法使CSS选择器匹配以下?

All OBJECT elements
  which have a PARAM element inside of them
Run Code Online (Sandbox Code Playgroud)

选择器

OBJECT PARAM
Run Code Online (Sandbox Code Playgroud)

不起作用,因为它匹配PARAM,而不是OBJECT.我想将{display:none}应用于对象; 将它应用于PARAM是没用的.

(我知道我可以用jQuery - $("object param").closest("object")和VanillaJS - 来解决这个问题document.querySelector("object param").closest("object")- 但我正在尝试在页面上创建CSS规则.)

css css-selectors

385
推荐指数
2
解决办法
30万
查看次数

在SQL WHERE中执行IF

我想做这个

SELECT *
  FROM sales_order_header       
 WHERE order_reference LIKE @order_reference + '%'
   AND ((@booked_in IS NULL) OR ( booked_in = @booked_in))
   AND ((@depot_assigned IS NULL) OR ( IF @depot_assigned = 'Y' depot_code <> ' ' ELSE depot_code = ' ') )
Run Code Online (Sandbox Code Playgroud)

我相信你们都可以猜到OR(IF @dede_assigned等)位失败了.

我该怎么做这样的事情,或者我必须根据@depot_assigned参数的值将它作为两个单独的select语句来完成.

sql sql-server

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

jQuery与Yahoo UI API设计

我对jQuery和Yahoo UI API之间的设计差异感到困惑.免责声明:我非常不喜欢jQuery api,但我对网络编程和javascript一般都是一个无知的人,所以我可能会出错,并回到这里乞求兑换.太长...

我的问题如下.这两种设计是不同的.jQuery将DOM置于中心,并通过在其上执行"触发器"增强器方法来装饰DOM.例

$("#flexigrid").flexigrid()
Run Code Online (Sandbox Code Playgroud)

jQuery的一个要求是,在某些情况下,你必须事先遵循一个非常具体的传统结构.例:

<div id="accordion">
    <h3><a href="#">First header</a></h3>
    <div>First content</div>
    <h3><a href="#">Second header</a></h3>
    <div>Second content</div>
</div>
Run Code Online (Sandbox Code Playgroud)

然后

$("#accordion").accordion();
Run Code Online (Sandbox Code Playgroud)

此外,返回的实体通常不提供任何通过方便的编程方法隐藏DOM的机制.要操纵您的jQuery实体,您必须通过选择器访问DOM,在某些情况下访问不能保证很容易知道,就像内部生成的ID一样.假设你想以编程方式交换手风琴,你所做的就是

$('#accordion').accordion('option', 'active', 2);
Run Code Online (Sandbox Code Playgroud)

而不是更直观

myAccordion.setActiveTab(2);
Run Code Online (Sandbox Code Playgroud)

另一方面,雅虎ui专注于javascript对象,你创建它们传递DOM节点选择器(例如myDataTable = new YAHOO.widget.DataTable("container_id")),然后通过对象方法执行所有操作.想要添加新行吗?打电话myDataTable.addRow().DOM是隐藏的.你并不关心幕后发生的事情.

现在,我对Trolltech QT的体验很好地映射到了Yahoo UI.窗口小部件对象的清晰,定义的API,通过继承重新实现其中一部分的最终自由,不透明渲染,除非您想打开盒子并弄脏手.QT是一个成功的API,运行良好,易于使用,Yahoo UI在设计风格上有点类似.另一方面,jQuery以违反直觉(对我来说)的方式工作,非常开放的方式,在其对象上减少了API.

足够的咆哮.关键是我认为我可能在这方面做错了,但我想知道为什么.拥有类似jQuery的界面有哪些设计优势(DOM显然暴露在外,你可能不得不寻找jQuery插件自动创建的东西,所以你最终可以$(选择)它们并附加事件或修改它们的内容)而不是像YUI那样隐藏物品和商品方法背后的一切?

我不是在谈论速度,代码大小或打字数量.我在谈论封装,专注于接口和易于访问等设计概念.什么设计更好,在什么情况下,为什么?

javascript jquery yui

14
推荐指数
2
解决办法
4308
查看次数

是否有一个布尔参数的PHPDoc类型提示?

我无法找到可以使用PHPDoc提示的类型的概述.我知道数组或字符串,但是还有bool吗?喜欢:

/**
 * @param bool loadLazy
 * @return array Array with objects
 */
public function getObjects($loadLazy=false) {
Run Code Online (Sandbox Code Playgroud)

php phpdoc

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

jQuery Ajax - 状态码0?

出于某种原因,我的开发的应用程序刚刚停止了AJAXing并返回0的状态代码.这发生在你身上吗?有人知道为什么会这样吗?

ajax http-status-codes

136
推荐指数
6
解决办法
16万
查看次数

Codeigniter:如何使用表单验证正确重定向

我理解如何使用没有现有值的简单形式来做,但是假设我有一个可以通过http://domain.com/account/settings调用的视图.假设我有两个字段,用户名,密码和城市,都是从数据库中提取的(当然除了密码).因此,如果用户尝试提交表单并因任何原因未通过验证,我应该将它们"重定向"到哪里?现在,我让它显示相同的视图,但问题是,它再次从数据库中提取信息.我应该创建两个不同的视图吗?

第二个视图基本上会显示他们尝试输入错误消息的信息.

codeigniter

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