小编Gui*_*ido的帖子

Rails SQL查询与find

我希望使用find在rails控制器中编写此SQL查询:

select id,name from questions
where id not in (select question_id from levels_questions where level_id=15)
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我正在使用Rails框架和MySQL.提前致谢.

sql ruby-on-rails find

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

基于Java的Wiki引擎

我试图回顾不同的可用wiki引擎,并对基于java的引擎感兴趣.你能推荐或列出任何基于java的wiki引擎,以便我可以检查出来.

我熟悉以下JSPWIKi,Elsie.

谢谢

java wiki

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

Android httpclient - 获取具有抢占式身份验证的文件

我使用此示例代码获取网站的HTML代码时遇到问题.

http://svn.apache.org/repos/asf/httpcomponents/httpclient/branches/4.0.x/httpclient/src/examples/org/apache/http/examples/client/ClientPreemptiveBasicAuthentication.java

我必须使用上面的那个,因为我需要Android中的应用程序的抢先身份验证.

我认为解决方案可能是httpget对象,但我仍然只得到错误:( cf HttpGet httpget = new HttpGet("/ index.html");

有没有人知道如何获取文件的内容,使用链接的示例代码在上面的httpget对象中指定.它肯定叫,但现在我只能得到状态代码等等......

谢谢4帮助

android httpclient

7
推荐指数
4
解决办法
7879
查看次数

杰克逊:自定义集合序列化到JSON

我正在尝试json序列化一个MyRootClass类,其属性是第二个类MyClass的元素集合:

public class MyRootClass {
   private List<MyInterface> list = new ArrayList<MyInterface>();
   // getter / setter
}

public class MyClass implements MyInterface {
   private String value = "test";    
   // getter / setter
}
Run Code Online (Sandbox Code Playgroud)

以下代码:

MyRootClass root = new MyRootClass();
root.getList().add(new MyClass());
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(System.out, root);
Run Code Online (Sandbox Code Playgroud)

生成此JSON输出:

{"list": [ {"value":"test"} ] }
Run Code Online (Sandbox Code Playgroud)

而不是我需要的,集合中的每个对象都用一个名称序列化:

{"list": [ {"myclass": {"value":"test"}} ] }
Run Code Online (Sandbox Code Playgroud)

有没有办法用Jackson实现它?我考虑过编写自定义序列化程序,但是我没有找到任何与对象集合相关的内容.

java json jackson

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

使用spring mvc3 @ResponseBody有415不支持的媒体类型为什么?

spring xml:

  <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
    <property name="mediaTypes">
        <map>
            <entry key="atom" value="application/atom+xml" />
            <entry key="html" value="text/html" />
            <entry key="json" value="application/json" />
        </map>
    </property>
    <property name="viewResolvers">
        <list>
            <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
            <bean
                class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="prefix" value="/WEB-INF/views/" />
                <property name="suffix" value=".jsp" />
            </bean>
        </list>
    </property>
    <property name="defaultViews">
        <list>
            <bean
                class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
        </list>
    </property>
</bean>

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

 <mvc:annotation-driven />

 <context:annotation-config />

 <context:component-scan base-package="org.lxh"></context:component-scan>
Run Code Online (Sandbox Code Playgroud)

代码是:

 @RequestMapping(value = "/2wt/test.do",method=RequestMethod.POST)
public @ResponseBody
Map<String, ? extends Object> create( …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc java-ee

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

Spring Controller:使用域对象作为@RequestBody

我有一个域对象类User(它是一个JPA实体):

@Entity
public class User {
   private String name;
   private boolean enabled = true;
   // getters/setters
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Spring 3 MVC提供REST API以允许客户端创建新用户:

@Controller
public class UserController {
    @RequestMapping(value="/user", method=RequestMethod.POST)
    @ResponseBody
    public String createRealm(@RequestBody User user) {
            user.setEnabled(true); // client is not allowed to modify this field
            userService.createUser(user);
            ...
    }
}
Run Code Online (Sandbox Code Playgroud)

它的伟大工程,但我不知道这是否是一个好主意,使用域对象作为@RequestBody,因为我要保护一些领域不应该由("已启用",在这种情况下,IE)的客户端直接进行修改.

这些替代方案的优缺点是什么:

  1. 使用域对象并保护不允许用户修改的字段(例如,将它们设置为null或手动设置为其默认值)
  2. 使用一组新的辅助对象(类似于DTO),例如UserRequest仅包含我想通过REST API公开的字段,并将它们(即使用Dozer)映射到域对象.

第二种选择如下:

@Entity
public class User {
   private String name;
   private boolean enabled = true;
   // getters/setters …
Run Code Online (Sandbox Code Playgroud)

java rest jpa spring-mvc

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

有条件地注入豆

我想根据从客户端传递的String参数注入一个bean.

public interface Report {
    generateFile();
}

public class ExcelReport extends Report {
    //implementation for generateFile
}

public class CSVReport extends Report {
    //implementation for generateFile
}

class MyController{
    Report report;
    public HttpResponse getReport() {
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望根据传递的参数注入报表实例.任何帮助都会有很大的吸引力.提前致谢

java spring dependency-injection

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

比较右边无限时间间隔和joda-lib

是否有可能确定两个严格无界的区间(无限远处有一个边界的区间)是否重叠?

我试过这个(和其他类似的变化):

Instant now = new Instant(new Date().getTime());
Interval i2 = new Interval(now, (ReadableInstant) null);
Interval i1 = new Interval(now, (ReadableInstant) null);
boolean overlapping = i2.overlaps(i1);
Run Code Online (Sandbox Code Playgroud)

但根据文档,使用null第二个参数意味着"现在"而不是"无限".

编辑:我在邮件列表中找到了这个答案,所以Joda似乎不可能.我现在正在寻找替代实现.

java jodatime

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

报警接收器和Android清单

我找到了几个关于设置警报接收器以设置间隔发送Toast消息的教程.我一直在关注代码并将我自己的项目分解为3个类.

HelloDroidActivity.java是:

package com.example.helloandroid;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

import com.example.helloandroid.alarms.MyAlarmReciever;

public class HelloDroidActivity extends Activity {
/** Called when the activity is first created. */

public static int RTC_WAKEUP;
public static long INTERVAL_FIFTEEN_MINUTES;

private AlarmManager alarmMgr;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TextView tv = new TextView(this);
    tv.setText("Hello, Krishneel");
    setContentView(tv);
    Toast.makeText(this, "Alarm went off", Toast.LENGTH_SHORT).show();

    Log.d("OnCreate", "abcdabcdabcdabcdabcdabcdabcdabcdabcdabcd");
    alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    Intent intent …
Run Code Online (Sandbox Code Playgroud)

java android broadcastreceiver

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

使用 terraform 在 Azure 中为每个可用区创建子网

我正在尝试使用 terraform 在 Azure 中的每个可用区创建子网。我正在使用下面的代码来创建子网。

resource "azurerm_subnet" "public_subnet" {
  name                 = "public_subnet"
  virtual_network_name = azurerm_virtual_network.vnet.name
  resource_group_name  = azurerm_resource_group.terraform_rg.name
  address_prefix       = "10.20.10.0/24"
}
Run Code Online (Sandbox Code Playgroud)

我的要求在AWS中是可以实现的。由于我是 Azure 的新手,我不确定是否可以在 Azure 中执行相同的操作。如果有人伸出援手来帮助我,那就太好了。

提前致谢!

azure azure-virtual-network terraform

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