小编Ali*_*Ali的帖子

使用Jackson在JSON中更改字段名称

我正在使用杰克逊将我的一个物体转换为json.该对象有2个字段:

@Entity
public class City {
   @id
   Long id;
   String name;
   public String getName() { return name; }
   public void setName(String name){ this.name = name; }
   public Long getId() { return id; }
   public void setName(Long id){ this.id = id; }
}
Run Code Online (Sandbox Code Playgroud)

由于我想在jQuery自动完成功能中使用它,我希望'id'在json中显示为'value','name'显示为'label'.杰克逊的文档不明确这一点,我已经想尽注释,甚至远程好像它做什么,我需要,但我不能让name显示为label,并id显示为value在JSON.

有谁知道如何做到这一点,或者这是否可能?

java jquery hibernate jquery-ui jackson

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

新的/奇怪的Java"try()"语法?

在使用Eclipse中的自定义格式选项时,在其中一个示例代码中,我看到了如下代码:

/**
 * 'try-with-resources'
 */
class Example {
    void foo() {
        try (FileReader reader1 = new FileReader("file1"); FileReader reader2 = new FileReader("file2")) {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我从来没有见过这样的try用法,我已经用Java编写了9年!有人知道你为什么要这样做吗?这样做的用例/好处是什么?

我看到的其他代码片段,我认为这是一个非常有用的简写,所以我也在这里分享它,它的作用非常明显:

/**
 * 'multi-catch'
 */
class Example {
    void foo() {
        try {
        } catch (IllegalArgumentException | NullPointerException | ClassCastException e) {
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java syntax try-catch

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

Android ProGuard返回行号

有没有办法让ProGuard返回发生崩溃的行号?我可以retrace用来获取方法,但是经常因为NullPointerException有太多的可能性而且在大量的代码中很难确定根本原因,因为你必须检查每个对象和它的生命周期以确保没有任何东西错误.如果ProGuard可以将此范围缩小到我的行号,那将会非常有帮助.

java android proguard apk

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

Spring MVC 3返回内容类型:text/plain

我想在页面上显示简单的文本,因此我想返回Content-Typeas text/plain.

使用下面的代码,我在页​​面上看到纯文本,但返回Content-Type仍然是text/html.

我怎样才能解决这个问题?

注意:我正在使用带有Spring MVC的Tiles.返回的"m.health"指向一个tile def,它映射到一个health.jsp,它只包含下面的1行.

更新说明:我无法控制HTTP标头请求中的Content-TypeAccept值.text/plain无论发出什么样的请求,我都希望我的回复能够回复.

控制器:

@RequestMapping(value = "/m/health", method = RequestMethod.GET, headers = "Accept=*")
public String runHealthCheck(HttpServletResponse response, HttpServletRequest request, Model model) throws Exception {
    model = executeCheck(request, response, TEMPLATE, false, model);
    model.addAttribute("accept", "text/plain");
    response.setContentType("text/plain");
    response.setCharacterEncoding("UTF-8");
    return "m.health";
}
Run Code Online (Sandbox Code Playgroud)

JSP:

$ {}状态

java content-type spring-mvc apache-tiles

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

如何正确过滤包替换广播

我试图抓住包替换广播为我的应用程序和我的应用程序,但由于某些原因在我的收件人我是广播的每个更新的应用程序.我以为你只需要将清单文件中的intent过滤器设置到你的应用程序,但也许我错了?

这是我的代码(清单):

        <receiver android:name=".UpdateReciever">
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_REPLACED" />
            <data android:scheme="package" android:path="com.my.app" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

Reciever:

public class AppUpdateReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context con, Intent intent) {

        //code..    
    }

}
Run Code Online (Sandbox Code Playgroud)

android broadcast intentfilter broadcastreceiver

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

IntelliJ IDEA鼠标悬停方法显示Java Doc

我正在使用IntelliJ IDEA 9,有没有办法配置IDEA,以便当我将鼠标悬停在某个方法上时,IDEA会拉出javadoc(和CTRL+ Q一样)?

java intellij-idea

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

Android NavigationView:减少图标和文本之间的空间,`itemBackground`无效

当使用菜单xml构建时,有没有办法减少NavigationView中图标和文本之间的空间?

我尝试android:drawablePadding使用该app:itemTextAppearance属性进行文本处理,但这不起作用,我已经尝试设置填充和边距,但没有任何作用.

此外,当我设置app:itemBackground并设置选中状态时,整个菜单项不会突出显示,我得到如下图所示的内容.

在此输入图像描述

用于创建的xml itemBackground是:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@color/white_alpha_10" />
    <item android:state_checked="true" android:drawable="@color/white_alpha_10" />
    <item android:state_focused="true" android:drawable="@color/white_alpha_10" />
    <item android:state_activated="true" android:drawable="@color/white_alpha_10" />
    <item android:drawable="@android:color/transparent" />
</selector>
Run Code Online (Sandbox Code Playgroud)

知道会发生什么吗?显然菜单项上有背景颜色,但菜单xml非常符合标准.

NavigationView它后面的紫色背景从主题设置:

<!--Activity xml -->
<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:layout_gravity="start"
    app:theme="@style/AppTheme.NavigationView"
    app:menu="@menu/menu_nav_drawer"
    app:itemBackground="@drawable/nav_drawer_item"
    app:headerLayout="@layout/nav_header"/>

<!-- styles.xml -->
<style name="AppTheme.NavigationView" parent="Widget.Design.NavigationView">
    <item name="android:background">@color/charcoal_new</item>
    <item name="itemIconTint">@color/nav_drawer_icon</item>
    <item name="android:listDivider">@color/dusk_alpha_50</item>
    <item name="itemTextAppearance">@style/NavigationViewTextAppearance</item>
</style>

<style name="NavigationViewTextAppearance" parent="TextAppearance.Body.Regular">
    <item name="android:textColor">@color/white</item>
    <item name="android:padding">0dp</item>
    <item name="android:layout_margin">0dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我正在使用Android支持/设计库23.2.1.

android android-navigationview

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

Java - Linux的Process.destroy()源代码

我需要检查一下代码,Process.destroy()看看它kill在Linux上是一个什么样的子进程.

有谁知道这个方法的作用或链接到它的来源?我检查了jdk源代码,Process它只是一个抽象类,并且该destroy方法尚未实现,似乎没有链接到任何子类extends或者implements Process.任何帮助将不胜感激.

谢谢,

java linux kill process

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

Android警报对话框背景问题API 11+

AlertDialog用下面的代码创建了一个.出于某种原因,我在Honeycomb及以上版本上获得了额外的背景(见图).代码在蜂窝以下的任何地方崩溃都很好. MyCustomDialogTheme.Dialog适用于<API-11和Theme.Holo.DialogAPI-11及更高版本.

  1. 知道为什么我得到额外的背景吗?
  2. 知道为什么它崩溃API <11?如果我删除主题,它工作正常.

更新找到了问题#2的答案.似乎构造函数AlertDialog.Builder(Context context, int theme)是在API 11中引入的.我的修复只是将行更改为:

final AlertDialog.Builder builder = (Integer.parseInt(android.os.Build.VERSION.SDK) < 11)? new AlertDialog.Builder(this) : new AlertDialog.Builder(this,R.style.JumpDialog);
Run Code Online (Sandbox Code Playgroud)

我仍然需要问题#1的帮助

在此输入图像描述

private Dialog setupKeyBoardDialog() {
    if (mContact.getLocaleId() != -1) {
        final AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.MyCustomDialog);
        builder.setTitle("Keyboards");

        mKeyboardLayouts = new KeyboardLayoutGroup();
        mKeyboardLayouts.layoutNames = new CharSequence[(int) jni.getNumKeyLayouts()];
        mKeyboardLayouts.layoutValue = new ArrayList<Integer>();

        for (int i = 0; i < jni.getNumKeyLayouts(); i++) {
            mKeyboardLayouts.layoutNames[i] = jni.LayoutInfoForIndex(i).getName();
            mKeyboardLayouts.layoutValue.add(i, (int) jni.LayoutInfoForIndex(i).getLocale_id()); …
Run Code Online (Sandbox Code Playgroud)

java android android-theme android-dialog

13
推荐指数
2
解决办法
6226
查看次数

SpringMVC 3和Tiles 2页面标题的本地化

我有一个使用Spring 3,Apache Tiles 2和Maven的项目设置.在我实现Tiles之前,我使用messages.properties文件来动态填充网页的标题(head和title标签之间出现的部分).这样做的原因是为了允许未来的本地化.但是,由于我已经集成了tile,所以tiles.xml文件似乎可以控制我页面的标题.

有没有办法改变这个,所以页面标题来自我用作页面主体的每个jsp的messages.properties?

tiles.xml是:

 <definition name="base.definition" template="/WEB-INF/views/layouts/layout.jsp">
    <put-attribute name="title" value="" />
    <put-attribute name="header" value="/WEB-INF/views/includes/header.jsp" />
    <put-attribute name="menu" value="/WEB-INF/views/includes/menu.jsp" />
    <put-attribute name="body" value="" />
    <put-attribute name="footer" value="/WEB-INF/views/includes/footer.jsp" />
</definition>

<definition name="home" extends="base.definition">
    <put-attribute name="title" value="Welcome from Tile" />
    <put-attribute name="body" value="/WEB-INF/views/home.jsp" />
</definition>

<definition name="new-deal-input" extends="base.definition">
    <put-attribute name="title" value="New Deal" />
    <put-attribute name="body" value="/WEB-INF/views/new-deal-input.jsp" />
</definition>
Run Code Online (Sandbox Code Playgroud)

如果您看到"欢迎来自平铺"或"新政"作为标题,我希望此消息来自messages.properties.我已经尝试将消息放在"正文"页面上的标题标签中无济于事.

该项目是在GitHub上设置的,您可以查看以下URL:Group-Deal-Clone

java apache spring tiles

12
推荐指数
2
解决办法
5378
查看次数