小编Evi*_*t7x的帖子

在触发器函数中,如何获取正在更新的字段

这可能吗?我有兴趣找出在UPDATE请求中指定了哪些列,而不管正在发送的新值可能是也可能不是已存储在数据库中的值.

我想这样做的原因是因为我们有一个表可以从多个来源接收更新.以前,我们没有记录更新源自哪个来源.现在,该表存储了哪些源执行了最新更新.我们可以更改一些来源以发送标识符,但这不是所有内容的选项.所以我希望能够识别UPDATE请求何时没有标识符,以便我可以替换默认值.

postgresql triggers sql-update

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

使ui图标与<li>中的其他文本显示在同一行

我对CSS很糟糕,我试图将ui-icon与LI中的文本放在同一行.

<ul>
    <li class="ui-state-default">
        <span>Hello</span>
        <span class="ui-icon ui-icon-close"></span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

通常文本不会在li中执行,所以我认为这是ui-icon css的内容,但我无法找到导致它的原因.

css jquery-ui

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

将多个圈添加到谷歌地图

我试图在谷歌地图上以不同的位置和大小绘制多个圆圈(大约1000个),然后将点击事件绑定到它们.但是这很多次调用new google.maps.Circle(parameters);会使页面加载速度变慢,有时它会永远挂起,所以我想弄清楚是否有更好/更快的方法来完成我想要做的事情.

我看到有一个叫做kml图层的东西,但似乎没有任何简单的方法可以用它绘制实心圆圈,我不确定我是否仍然可以将点击事件绑定到图层中的每个圆圈.

查看Google KML常见问题解答页面上的圈子解决方法,我不确定生成包含数千个类似于此的圈子的KML文件是否会随时节省.

我也不知道如何生成这个kml文件.

最后,考虑到我正在拉动我试图从数据库中绘制的圆圈,因此我必须动态生成KML文件以供使用,或者每次删除圆圈时生成新文件或从数据库添加,以便文件保持最新.

当然,如果有另一种选择,我全都耳朵!

geometry google-maps kml google-maps-api-3

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

jQuery确认暂停脚本执行的框

我正在寻找标准对话框的jquery /漂亮的替代品.jQUery UI有一个很好的,但它不会暂停脚本执行以等待像confirm()那样的响应.下面的演示应该显示两个显示前一个确认框选项的div,但是jquery对话框不会导致脚本等待.

http://jsfiddle.net/EvilAmarant7x/r7Ur5/

我特别需要一些能让脚本暂停的东西.

谢谢

jquery jquery-ui

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

预填充jqGrid高级搜索过滤器?

search_config文档页面中,我看到有些东西看起来像是允许我指定一个默认值(defaultValue)来填充搜索字段,但我无法让它工作.我指定了一个默认值,但是当我拉出搜索框时,没有任何内容被填充.此外,我正在使用multipleGroup: true,所以这是先进的高级搜索模块,如果这有任何区别.

jqgrid

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

如何使中文语言环境以中文显示为特别简化或传统

我正在使用java.util.Locale生成一个语言环境列表并打印出本地显示语言(即打印出ja_JP作为日本语).我注意到zh_CN(简体中文)和zh_TW(繁体中文)本地化为中文而不是简体中文和繁体中文.有没有办法让这些语言环境包含简化和传统的前缀字符而不用硬编码zh_CN应该是简体中文和zh_TW应该是繁体中文?我知道我可以打印出语言+国家(即中文),但这并不完全相同.

这是一个java片段,证明它们是相同的:

import java.util.Locale;

public final class test {
  public static void main(String[] args) {
    Locale locale1 = new Locale("zh", "cn");
    System.out.println( locale1.getDisplayLanguage(locale1));
    System.out.println( locale1.getDisplayLanguage(Locale.TRADITIONAL_CHINESE));
    System.out.println( locale1.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
    System.out.println( locale1.getDisplayCountry(locale1));

    System.out.println( "");

    Locale locale2 = new Locale("zh", "tw");
    System.out.println( locale2.getDisplayLanguage(locale2));
    System.out.println( locale2.getDisplayLanguage(Locale.TRADITIONAL_CHINESE));
    System.out.println( locale2.getDisplayLanguage(Locale.SIMPLIFIED_CHINESE));
    System.out.println( locale2.getDisplayCountry(locale2));
  }
}
Run Code Online (Sandbox Code Playgroud)

java locale chinese-locale

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

轻松输出表行的hstore格式

是否有更好的方法将表格的行放入hstore格式而不是去

SELECT hstore(ARRAY['col1','col2','col3'], ARRAY[col1::text, col2::text, col3::text]) FROM tbl;
Run Code Online (Sandbox Code Playgroud)

它有效,但我认为必须有一个更好的方法,而不是键入每列.hstore采用记录类型进行输入,但我无法弄清楚如何将单行生成查询提供给函数并使其快乐.Postgres版本9.0.4.

postgresql hstore

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

如何在移动应用程序中使用 SAML 身份验证?

我试图了解 saml 身份验证流如何在客户端(基于 AngularJS)、api 服务器(基于节点和护照)和 idp 存在于不同域中的移动环境中工作。

从我收集到的一般做法是,如果不存在身份验证(即客户端未在请求中包含不记名令牌),则让服务器向客户端返回 401。客户端理解 401 响应指示打开服务器上的登录端点。当登录端点打开时,它会向身份验证提供程序(将用户重定向到身份验证提供程序的站点)发出通行证调用并提供回调 URL。当用户进行身份验证时,身份验证提供程序重定向到提供的回调 URL,这允许服务器从身份验证提供程序的响应中检索信息并构造一个可由客户端使用的某种类型的令牌(例如 JWT)(即包含在headers) 在进行 REST 调用以标识自己时。

我的问题是:客户端如何从服务器获取令牌?因为我们处于基于重定向的身份验证流程中,所以我不能仅从return token回调函数;这只会在浏览器中显示令牌,而无需将其交给客户端。服务器是否仅发出指向客户端域的 302 重定向并将身份验证令牌包含在标头中?也许我不应该首先从客户端重定向到服务器,而是window.open()使用window.opener.postMessage或者它太老式/移动不友好?

这个问题讨论了针对 SAML IDP 的身份验证,但我有兴趣获得更多关于最后一个要点的详细信息,以及它如何与基于 AngularJS 的客户端一起使用。

我在网上看到的许多示例都是使用 OAuth/SAML 的单个域( passport-saml-example),这避免了客户端存在于单独域中的问题,要么使用具有基本身份验证的两个域,从而避免了该问题重定向到某个第三方进行身份验证,但我无法找到使用我正在尝试使用的所有零碎部分的好的示例。

这篇博文似乎与我想要完成的非常接近(请参阅 googleSignInCallback)并使用我想象的 302 重定向,但该解决方案依赖于明确知道要重定向到的客户端 URL,如果我想要,这似乎可能有问题将来支持多种客户端类型(即本机应用程序)。

authentication node.js saml-2.0 angularjs

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

在速度模板中创建对象

我已经看过这个问题了,但它正在讨论liferay-velocity,似乎可以访问我无法访问的'$ portal'对象.

在力度模板中创建对象

具体来说,我正在尝试在模板中创建一个Locale对象,将其传递给$ dateTool.format调用以获取特定语言的输出.

我无法预先创建语言环境对象并将其传递给模板,因为该代码可以调用各种模板,每个模板可以使用不同的语言.

我试过了

#set($localeClass = $portal.getClass().forName("java.util.Locale"))
$localeClass.getName
Run Code Online (Sandbox Code Playgroud)

但是只输出'$ localeClass.getName'(我不确定$ portal是否是一些神奇的预设变量或其他东西).

我也试过了

#set($localeClass = java.util.Locale.class)
$localeClass.getName
Run Code Online (Sandbox Code Playgroud)

但是当我尝试处理模板时,这给了我一个运行时异常.

我在Velocity中看到了ClassTool,但是它不支持自动执行代码.我想我可以尝试类似的东西$classTool.inspect("java.util.Locale").getType.getConstructor([$classTool.inspect("java.util.String"),$classTool.inspect("java.util.String")]).newInstance(["es","ES"]).

我会尝试一下,但与此同时我会看看是否有其他人有更好的主意.

编辑

自发布以来,我意识到velocity有一个ConversionTool(未在GenericTool概述页面上列出),它有一个我可以调用的toLocale函数.所以我可以使用

$dateTool.format('dd-MMM-yyyy', $date, $conversionTool.toLocale("es_ES"))
Run Code Online (Sandbox Code Playgroud)

但我仍然很好奇是否有办法通过反思来实现这一目标.

velocity

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

在'IN(.....)'子句的查询中使用预准备语句?

是否有(棘手/非标准)的方式来做到这一点?

会是这样的

$stmt = $db->prepare( 'SELECT title FROM episode WHERE id IN (?, ?, ?, ?);
Run Code Online (Sandbox Code Playgroud)

工作?因此,如果我想搜索可变数量的ID,我能做到吗?

$ids = array(1,2,3,4,5,6,7);
$idSection = implode(array_pad(array(), count($ids), '?')) //To give ?,?,?,?,?,?,?
$stmt = $db->prepare( 'SELECT title FROM episode WHERE id IN ($idSection);
$stmp->execute($ids);
Run Code Online (Sandbox Code Playgroud)

即使这样可行,但对于使用相同的预准备语句运行多组数据仍然没有用,除非$ids每次搜索的集合长度相同,并且它不适用于名称占位符.

如果你这样做,我假设

$stmt = $db->prepare( 'SELECT title FROM episode WHERE id IN (:ids);
$ids = implode('","' array(1,2,3,4,5,6,7));
$stmt->bindParam( ':ids', $ids);
Run Code Online (Sandbox Code Playgroud)

它失败是因为准备好的语句被构造成它将搜索单个id值并且"1","2","3","4","5","6","7"将不匹配?

我确信有一个更好的答案,而不仅仅是不使用IN(...)条款.我是否只需$ids手动清理该术语并将其包含在没有占位符的查询中?

$stmt = $db->prepare( "SELECT title FROM episode WHERE id IN $ids AND …
Run Code Online (Sandbox Code Playgroud)

php pdo

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