问题列表 - 第37958页

速度:对于在不同页面上重复多次的DIV块,使用Velocity宏或#include(...)语句会更好吗?

我有大约10个动态生成的HTML标准块,它们包含在我网站上的大部分页面上(信息侧边栏).

我可以使用#include语句或将它们定义为宏,两者都可以.

什么更好?我是Velocity的新手并从JSP迁移一个站点.

为什么使用一个与另一个?当no-arg宏()做同样的事情时为什么要#include?它们与缓存/内存的处理方式有何不同?

java macros velocity include

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

通用主机中的同步发送/回复

我试图使用通用主机Windows服务的处理函数同步发送/回复,如下所示.但我认为NServiceBus只在完成句柄功能后才会发送消息(在当前事务完成期间).所以下面的代码将挂起'synchronousHandle.AsyncWaitHandle.WaitOne()'.

这里最好的方法是什么?你能指导我吗?

    Handler constructer

    ConstructorFunction(bus)
    {
                    Bus = bus
    }

    code in the handle function. 
    // sent the message to the bus and wait for the reply

    IMessage response = null;

    var synchronousHandle = Bus.Send(service2queue, requestMessage)
                                            .Register(
                                            (AsyncCallback)delegate(IAsyncResult asyncResult)
                                            {
                                                // Callback block for reply message
                                                // Reply message received
                                                NServiceBus.CompletionResult completionResult = asyncResult.AsyncState as NServiceBus.CompletionResult;
                                                if (completionResult != null && completionResult.Messages.Length > 0)
                                                {
                                                    // Always expecting one IMessage as reply
                                                    response = completionResult.Messages[0];
                                                }
                                            },
                                            null);


// block …
Run Code Online (Sandbox Code Playgroud)

nservicebus

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

使用单值初始化数组

有没有更紧凑的方式来进行这种初始化?

for (var i = 0; i < arraySize; i++) array[i] = value;
Run Code Online (Sandbox Code Playgroud)

javascript

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

在EOF之前的任何地方都找不到字符串终结符"str"

为什么我会收到此错误?

use strict;
use warnings;

my $str = <<str; 
88087   23/11/2010 
35192   25/07/2010 
B3J 5X9 17/08/2011 
C8U 5L6 16/08/2011 
F4Q 3B4 17/10/2010 
D3X 9P4 11/05/2010 
O7L 6Z8 28/02/2010 
W8L 9P2 05/09/2010 
str 

print $str;

my @arr = split/\n/,$str;
foreach (@arr) {
        my @tmp = split/\t/;
        print "$tmp[1]\n";
}
Run Code Online (Sandbox Code Playgroud)

string syntax perl heredoc

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

替换PHP的realpath()

显然,realpath是非常错误的.在PHP 5.3.1中,它会导致随机崩溃.在5.3.0及更低版本中,realpath随机失败并返回false(对于相同的字符串),加上它总是失败 - realpath同一个字符串两次/更多(当然,它第一次工作).

此外,它在早期的PHP版本中是如此的错误,它完全无法使用.嗯......它已经是,因为它不一致.

无论如何,我有什么选择?也许自己重写一下?这是可取的吗?

php path realpath

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

XSL 在另一个模板中使用特定模板

我在使用 XSL 时遇到了一些问题:当它使用 apply-templates 来打印 child 时,是否可以使用另一个模板?我不想使用当前节点,而是真正创建一个与模板匹配的新元素。

我正在搜索的示例:

XML 文件:

<root>
  <toto name="foo">
    <b>hello</b>
  </toto>
</root>
Run Code Online (Sandbox Code Playgroud)

XSL 样式表:

<xsl:template match="/">
  <xsl:apply-templates />
</xsl:template>

<xsl:template match="tata" name="tata">
  <div class="tata">
    <xsl:apply-templates />
  </div>
</xsl:template>

<xsl:template match="toto" name="toto">
  <tata>
    <xsl:value-of select="@name" />
  </tata>
  <tata>
    <xsl:apply-templates />
  </tata>
</xsl:template>

<xsl:template match="@*|node()">
   <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
   </xsl:copy>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

预期输出:

<div class="tata">foo</div>
<div class="tata">
  <b>hello</b>
</div>
Run Code Online (Sandbox Code Playgroud)

xslt templates

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

php异常额外参数

抛出异常时是否可以添加额外的参数?

当我抛出异常时,我发送错误消息,但我还想在额外的参数中发送字段的名称.就像是:

throw new Exception('this is an error message', 'the field');
Run Code Online (Sandbox Code Playgroud)

所以,当我显示消息时,我可以这样做:

show_error($e->getFieldname, $e->getMessage());
Run Code Online (Sandbox Code Playgroud)

php

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

WHERE子句中的SQL IN运算符

以下查询:

SELECT SUM (peak_power) FROM t_mpi_pv WHERE info_id IN ( 
 SELECT mp_info_id FROM t_mp WHERE mp_id IN (
  ARRAY[29800001,29800008,29800015,29800022,29800029]
 )
)
Run Code Online (Sandbox Code Playgroud)

不行.我收到错误:

"运算符不存在:整数=整数[]".

SELECT SUM (peak_power) FROM t_mpi_pv WHERE info_id IN ( 
 SELECT mp_info_id FROM t_mp WHERE mp_id = 29800001  
)
Run Code Online (Sandbox Code Playgroud)

作品.

我究竟做错了什么?

sql arrays postgresql

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

C++ - 重载默认类型的赋值运算符

我想为"int","long"等类型重载赋值运算符.也就是说,我想使用如下代码:

class CX {
private:
  int data;
...
};

CX obj;
int k;
k = obj;  // k should get the value of obj.data
Run Code Online (Sandbox Code Playgroud)

显然,赋值运算符不能成为友元函数.我如何实现上述目标?

我可能错过了一些简单的东西,但却无法弄清楚这样做的语法/方法.

另外,一个IMP限制 - 我们不能使用get/set方法因为::在发布代码中,我们将CX typedefed作为int或long(根据需要),但在DEBUG代码中,我们希望将它作为一个类(用于自动)在数千个地方进行类型检查).代码需要很常见.原因是如果CX成为一个类,编译器(至少我们使用的版本)在某种程度上无法优化所有操作.


一个问题是 - 我不想让它通过:

CX x; long p; p = x;
Run Code Online (Sandbox Code Playgroud)

我假设下面的转换解决方案将隐式地使长/短等代码也通过.(如果没有,那么它正是我要找的!).

在相关的说明中,回答David的问题 - 我想重构的原因是 - 我们希望能够将CX切换为32位或64位.因此,我们希望禁止任何隐式转换并在编译时捕获它们.现在,相反 - (disallowiong

CX x = some_64_bit_int;

但允许

CX x = some_32_bit_int;

我通过使用templatized =运算符来实现,该运算符默认情况下在编译时断言,但是将其重载为我想要的类型.


如果您认为这是一个糟糕的设计或我应该尝试其他替代方案 - 我需要的原因是:我们有数千行遗留代码,其中某些东西只是键入"int".

typedef int CX;
Run Code Online (Sandbox Code Playgroud)

整个地方都有作业,如:

CX x; int k; k = x;    // Writing the simplified relevant code here …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading assignment-operator

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

如何从c#中读取Foxpro 8.0数据库?

我需要将表从foxpro 8.0导入到sql server.如何从C#中的foxpro目录/文件中读取表和模式,以便我可以在SQL Server中创建表并复制数据?

.net c# visual-foxpro

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