我想在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)
这种方法有问题吗?如果是这样的话:你会建议什么呢?
我有一个将图像与标签匹配的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)
当然,那不是很好.任何的想法?
谢谢!
在一些未注释的Objective-C代码中遇到了这个条件:
if (w & (w - 1))
{
i = 1;
while (i < w)
{
i *= 2;
}
w = i;
}
Run Code Online (Sandbox Code Playgroud)
哪里w是size_t大于1.
更新:添加条件for context包含的代码.
我正在尝试使用以下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?
可能重复:
是否有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规则.)
我想做这个
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语句来完成.
我对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那样隐藏物品和商品方法背后的一切?
我不是在谈论速度,代码大小或打字数量.我在谈论封装,专注于接口和易于访问等设计概念.什么设计更好,在什么情况下,为什么?
我无法找到可以使用PHPDoc提示的类型的概述.我知道数组或字符串,但是还有bool吗?喜欢:
/**
* @param bool loadLazy
* @return array Array with objects
*/
public function getObjects($loadLazy=false) {
Run Code Online (Sandbox Code Playgroud) 出于某种原因,我的dashcode开发的应用程序刚刚停止了AJAXing并返回0的状态代码.这发生在你身上吗?有人知道为什么会这样吗?
我理解如何使用没有现有值的简单形式来做,但是假设我有一个可以通过http://domain.com/account/settings调用的视图.假设我有两个字段,用户名,密码和城市,都是从数据库中提取的(当然除了密码).因此,如果用户尝试提交表单并因任何原因未通过验证,我应该将它们"重定向"到哪里?现在,我让它显示相同的视图,但问题是,它再次从数据库中提取信息.我应该创建两个不同的视图吗?
第二个视图基本上会显示他们尝试输入错误消息的信息.
sql ×2
ajax ×1
c ×1
c# ×1
codeigniter ×1
css ×1
datetime ×1
java ×1
javascript ×1
jquery ×1
objective-c ×1
parsing ×1
php ×1
phpdoc ×1
servlets ×1
sql-server ×1
string ×1
yui ×1