我使用Jersey 1.11制作了一个小型的Rest Web服务.当我调用返回Json的url时,非英文字符的字符编码存在问题.Xml的相应url("test.xml"在启动的xml-tag中使其成为utf-8.
如何让网址"test.json"返回utf-8编码的响应?
这是服务的代码:
@Stateless
@Path("/")
public class RestTest {
@EJB
private MyDao myDao;
@Path("test.xml/")
@GET
@Produces(MediaType.APPLICATION_XML )
public List<Profile> getProfiles() {
return myDao.getProfilesForWeb();
}
@Path("test.json/")
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Profile> getProfilesAsJson() {
return myDao.getProfilesForWeb();
}
}
Run Code Online (Sandbox Code Playgroud)
这是服务使用的pojo:
package se.kc.mimee.profile.model;
@XmlRootElement
public class Profile {
public int id;
public String name;
public Profile(int id, String name) {
this.id = id;
this.name = name;
}
public Profile() {}
}
Run Code Online (Sandbox Code Playgroud) 我有一个Angular应用程序,我认为是版本4. IE 11在此应用程序的登录序列中崩溃:"无法从释放的脚本执行代码".根据IE控制台,错误发生在第10939行的polyfills包中("var testString = delegate.toString()"),如下所示:
var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {
if (!isDisableIECheck && ieOrEdge) {
if (isEnableCrossContextCheck) {
try {
var testString = delegate.toString();
if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {
nativeDelegate.apply(target, args);
return false;
}
}
catch (error) {
nativeDelegate.apply(target, args);
return false;
}
}
else {
var testString = delegate.toString(); // <===== HERE!
if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {
nativeDelegate.apply(target, args);
return false;
}
}
}
else if …Run Code Online (Sandbox Code Playgroud) 我正在使用Angular(4我认为)与typescript和zone.js(0.8.4).我通过"polyfills.ts"文件导入zone.js. 当我查看zone.js的源代码时,有这样的代码:
var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何在_globals中设置此变量?
谢谢
当我尝试单元测试处理JSF组件的Java类(javax.faces.model.SelectItem)时,我收到一个奇怪的错误.我得到的错误是这样的:
java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/faces/model/SelectItem
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
...
Run Code Online (Sandbox Code Playgroud)
然后它到达我的代码(在ItemOptionsHandler.java中):
SelectItem [] items = new SelectItem [itemList.size()];
什么是这个错误所有关于???
感谢您的帮助!
这是我要测试的类:
package foo.web.converters;
import java.io.Serializable;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.model.SelectItem;
import foo.business.facade.ItemFacade;
import foo.model.MyType;
public class ItemOptionsHandler implements Serializable {
@EJB
private ItemFacade facade;
public …Run Code Online (Sandbox Code Playgroud) 我有一个函数可以像这样调用rest api:
getProducts(category: string): Observable<IProduct[]> {
let url = `/rest/getproducts?category=${category}`;
return this._http.get<IProduct[]>(url);
}
Run Code Online (Sandbox Code Playgroud)
来自服务的响应如下所示:
[
{
"ProductId": 1,
"CategoryType": "XC",
"Name": "Prod A"
},
{
"ProductId": 2,
"CategoryType": "XY",
"Name": "Prod B"
},
]
Run Code Online (Sandbox Code Playgroud)
我的模型看起来像这样:
export interface IProduct {
id: string;
type: string;
name: string;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法以简单的方式将响应映射到我的模型?我应该使用地图功能吗?我知道我可以更改模型以适应响应,但我更愿意将响应压缩到我的模型中(示例已简化)。
我经常键入M-x buffer-menu以在Emacs中切换缓冲区.如何使用较短的命令执行此操作?它的字符串非常长.
谢谢!
给定这个 xml:
<mets:techMD ID="techMD014">
<mets:mdWrap MDTYPE="PREMIS:OBJECT">
<mets:xmlData>
<premis:object
xsi:type="premis:file"
xsi:schemaLocation="info:lc/xmlns/premis-v2
http://www.loc.gov/standards/premis/v2/premis-v2-0.xsd">
<premis:objectIdentifier>
<premis:objectIdentifierType
>filepath</premis:objectIdentifierType>
<premis:objectIdentifierValue
>bib1234_yyyymmdd_99_x_performance.xml</premis:objectIdentifierValue>
</premis:objectIdentifier>
</premis:object>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:techMD ID="techMD015">
<mets:mdWrap MDTYPE="PREMIS:OBJECT">
<mets:xmlData>
<premis:object
xsi:type="premis:representation"
xsi:schemaLocation="info:lc/xmlns/premis-v2
http://www.loc.gov/standards/premis/v2/premis-v2-0.xsd">
<premis:objectIdentifier>
<premis:objectIdentifierType
>local</premis:objectIdentifierType>
<premis:objectIdentifierValue
>bib1234_yyyymmdd_99_x</premis:objectIdentifierValue>
</premis:objectIdentifier>
</premis:object>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
Run Code Online (Sandbox Code Playgroud)
我想做一个同时考虑索引和属性的 xpath 查询。即我可以将这两个合并为一个查询吗?(它是我感兴趣的“对象”元素周围的东西):
//techMD/mdWrap[
@MDTYPE=\'PREMIS:OBJECT\'
]/xmlData//object[1]/objectIdentifier/objectIdentifierValue
//techMD/mdWrap[
@MDTYPE=\'PREMIS:OBJECT\'
]/xmlData//object[
@xsi:type=\'premis:file\'
]/objectIdentifier/objectIdentifierValue
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在使用Bootstrap(http://bootstrap-datepicker.readthedocs.org/en/latest/i18n.html)中的datepicker 。当使用不带“ language”属性的datepicker时,它可以工作,但是当我尝试指定一种语言(“ sv”)时,它会失败并显示消息(即,尝试在小部件中选择日期时):
未捕获的TypeError:无法读取未定义的属性“ length”
这些是我正在使用的版本:
jQuery v1.8.3
jQuery UI 1.8.22
Boostrap 2.3.1
从调试器的角度来看,这似乎是崩溃的代码(Datetimepicker.prototype,带有“ p:”的行):
formatDate: function (date, format, language, type) {
if (date == null) {
return '';
}
var val;
if (type == 'standard') {
val = {
// year
yy: date.getUTCFullYear().toString().substring(2),
yyyy: date.getUTCFullYear(),
// month
m: date.getUTCMonth() + 1,
M: dates[language].monthsShort[date.getUTCMonth()],
MM: dates[language].months[date.getUTCMonth()],
// day
d: date.getUTCDate(),
D: dates[language].daysShort[date.getUTCDay()],
DD: dates[language].days[date.getUTCDay()],
p: (dates[language].meridiem.length == 2 ? dates[language].meridiem[date.getUTCHours() < 12 ? 0 : 1] : …Run Code Online (Sandbox Code Playgroud) 我想为IE加载另一个CSS.我正在使用Symfony 1.2.什么是最快的方式?我宁愿不使用"view.yml"技术.我希望在我的脑子里有类似的东西:
<link rel="stylesheet" href="css/screen.css" type="text/css" media="screen" />
<!--[if lte IE 7]>
<link rel="stylesheet" href="css/ie6.css" type="text/css" media="screen" />
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
我目前在layout.php文件中有这个代码,用于包含样式表.
<?php include_http_metas() ?>
<?php include_metas() ?>
<?php use_stylesheet('style.css') ?>
Run Code Online (Sandbox Code Playgroud)
你们知道任何快速解决方案吗?