小编Kla*_*lam的帖子

Grails:在gsp中显示创建的图像

我对Grails很新,所以对这个问题可能有一个非常简单的答案.我正在尝试在gsp中显示动态创建的图像.图像不存储在数据库中,它是在控制器中即时创建的.

我本质上拥有的是一个gsp,它有一个接受一组用户输入的表单(requestGraph.gsp).提交表单后,参数将被发送到控制器中的displayGraph操作,该操作完全从Grails之外的数据库查询信息,并使用JFreeChart库创建图表.我想在displayGraph.gsp或类似的东西中显示这个图像.

所以基本上在requestGraph.gsp中我有一个类似的片段:

<g:form action="displayGraph">
    <!-- ... bunch of labels and boxes -->
    <g:submitButton name="displayGraph" value="Display Graph" />
</g:form>
Run Code Online (Sandbox Code Playgroud)

在控制器内我有类似的东西:

def requestGraph = {}

def displayGraph = {
    //... code that uses params  to make an image byte array and assigns to var img
    return [image : img]
}
Run Code Online (Sandbox Code Playgroud)

在displayGraph.gsp中:

<body>
    <h1>Graph Title</h1>
    <!-- ??? How to dislpay image? -->
</body>
Run Code Online (Sandbox Code Playgroud)

我尝试将图像直接传送到displayGraph动作中的输出流.这有效,但后来我失去了对displayGraph.gsp中所有页面格式的控制.

我发现的大多数教程都创建了一个专门的操作来将图像传输到输出流,然后使用标记调用该操作.问题是我的图像没有存储在数据库中,我看不到传递图像字节数组(甚至表单参数)来创建/渲染图像的方法.任何人都可以帮我吗?谢谢.

html grails

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

将文字常量分配给右值参考时会发生什么?

这无疑是一个挑剔的问题,主要是出于好奇心.假设我们有以下内容:

int x = 5;
int&& xref = std::move(x);
std::cout << "Before assignment x: " << x << std::endl;
std::cout << "Before assignment xref: " << xref << std::endl;
xref = 10;
std::cout << "After assignment x: " << x << std::endl;
std::cout << "After assignment xref: " << xref << std::endl;
Run Code Online (Sandbox Code Playgroud)

预期的输出是:

// Before assignment x: 5
// Before assignment xref: 5
// After assignment x: 10
// After assignment xref: 10
Run Code Online (Sandbox Code Playgroud)

这是有道理的. std::move转换x为xvalue并允许我们将其内存位置绑定到xref并相应地修改其内容.现在让我们说我们有以下内容: …

c++ move-semantics

11
推荐指数
2
解决办法
329
查看次数

在本地安装ruby-debug19

我目前在Windows XP 32位机器上运行Ruby 1.9.2p0.自从我们升级到Ruby 1.9以来,我无法进行任何形式的调试.我被告知你需要新的ruby-debug19 gem才能让事情运行起来.问题是,我公司的代理阻止了gem依赖管理器连接外部存储库.没关系,我会自己下载gem并在本地安装.结果:

ERROR:  Error installing ruby-debug19-0.11.6.gem:
    ERROR: Failed to build gem native extension.

C:/Ruby192/bin/ruby.exe extconf.rb --with-ruby-include=C:\Ruby192\include
checking for vm_core.h... no
checking for vm_core.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=C:/Ruby192/bin/ruby
    --with-ruby-dir
    --without-ruby-dir
    --with-ruby-include=${ruby-dir}/include
    --with-ruby-lib
    --without-ruby-lib=${ruby-dir}/lib
C:/Ruby192/lib/ruby/1.9.1/net/http.rb:644:in `initialize': …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-debug ruby-1.9

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

如何使用 EWS 从 Outlook 联系人读取扩展属性

我目前正在尝试通过 Microsoft 的 EWS 托管 API 从 Outlook 联系人对象中读取某些属性。我从FindItems()函数中检索这些 Contact 对象。其中一些字段是扩展属性,例如TitleorUser1字段,我很难阅读它们。目前,我有:

Guid propertySetId = new Guid("{00062004-0000-0000-C000-000000000046}");
ExtendedPropertyDefinition titleProp = new ExtendedPropertyDefinition(propertySetId, 0x3A45, MapiPropertyType.String);
ExtendedPropertyDefinition user1Prop = new ExtendedPropertyDefinition(propertySetId, 0x804F, MapiPropertyType.String);

string title, user1;
contact.TryGetProperty(titleProp, out title);
contact.TryGetProperty(user1Prop, out user1);
Run Code Online (Sandbox Code Playgroud)

运行这个时,TryGetProperty总是返回false。我已验证这些字段已在 Outlook 中为我正在搜索的联系人填充。

编辑:这就是我检索联系人对象的方式。

ExchangeService service = //...
Mailbox userMailbox = new Mailbox(emailAddress);
FolderId folderId = new FolderId(WellKnownFolderName.Contacts, userMailbox);
FindItemsResults<Item> results;
const string AQS = "Category:~>\"CategoryTag\"";
ItemView view = new ItemView(200);
results = …
Run Code Online (Sandbox Code Playgroud)

outlook exchangewebservices

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