我的POST方法如下所示:
@POST
@Consumes({"application/json"})
@Path("create/")
public void create(String param1, String param2){
System.out.println("param1 = " + param1);
System.out.println("param2 = " + param2);
}
Run Code Online (Sandbox Code Playgroud)
当我在Netbeans中创建Jersey客户端时,调用post方法的方法如下所示:
public void create(Object requestEntity){
webResource.path("create").type(MediaType.APPLICATION_JSON).post(requestEntity);
}
Run Code Online (Sandbox Code Playgroud)
运行此测试时:
@Test
public void hello(){
String json = "{param1=\"hello\",param2=\"hello2\"}";
this.client.create(json);
}
Run Code Online (Sandbox Code Playgroud)
它在服务器中提供以下输出:
INFO: param1 = {param1="hello",param2="hello2"}
INFO: param2 =
Run Code Online (Sandbox Code Playgroud)
我需要更改什么才能使参数给出正确的值?
我正在使用这个方法的RESTfull webservice:
@POST
@Consumes({"application/json"})
@Path("create/")
public void create(String str1, String str2){
System.out.println("value 1 = " + str1);
System.out.println("value 2 = " + str2);
}
Run Code Online (Sandbox Code Playgroud)
在我的Android应用中,我想调用此方法.如何使用org.apache.http.client.methods.HttpPost为参数赋予正确的值;
我注意到我可以使用注释@HeaderParam并简单地将标头添加到HttpPost对象.这是正确的方法吗?这样做:
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("str1", "a value");
httpPost.setHeader("str2", "another value");
Run Code Online (Sandbox Code Playgroud)
在httpPost上使用setEntity方法将不起作用.它仅使用json字符串设置参数str1.使用时如:
JSONObject json = new JSONObject();
json.put("str1", "a value");
json.put("str2", "another value");
HttpEntity e = new StringEntity(json.toString());
httpPost.setEntity(e);
//server output: value 1 = {"str1":"a value","str2":"another value"}
Run Code Online (Sandbox Code Playgroud) 当我第二次打开我的SupportMapFragment(Android maps v2)(调用setContentView)时,我收到以下错误:
01-28 16:27:21.374: E/AndroidRuntime(32743): FATAL EXCEPTION: main
01-28 16:27:21.374: E/AndroidRuntime(32743): android.view.InflateException: Binary XML file line #6: Error inflating class fragment
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.View.inflate(View.java:16119)
01-28 16:27:21.374: E/AndroidRuntime(32743): at mypackage.MyView.<init>(HitsView.java:26)
01-28 16:27:21.374: E/AndroidRuntime(32743): at mypackage.MenuListFragment.onItemClick(MenuListFragment.java:133)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.widget.AdapterView.performItemClick(AdapterView.java:298)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
01-28 16:27:21.374: E/AndroidRuntime(32743): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855)
01-28 16:27:21.374: E/AndroidRuntime(32743): …Run Code Online (Sandbox Code Playgroud) 我有一张桌子,用自举设计.使用Angular.js填充此表的内容.如何使行可单击以便调用范围中的函数?
以下代码对我不起作用(ng-click部分):
表:
<table class="table table-hover">
<thead>
<tr>
<th>Name</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="ingredient in ingredients" ng-click="setSelected({{$index}});">
<td>{{ ingredient.name }}</td>
<td>{{ ingredient.status }}</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
控制器:
$scope.setSelected = function(index) {
$scope.selected = $scope.ingredients[index];
console.log($scope.selected);
};
Run Code Online (Sandbox Code Playgroud) 如何在地图上获取所有标记,以便用户可以看到所有标记?
我有一些标记.我在地图上显示它们.我得到的中心LonLat来自我所有标记的lon和lat的最高和最低数字的平均值.
所以我使用以下方法将地图设置为所有标记的中心点:
map.setCenter(centerLonLat, 8);
Run Code Online (Sandbox Code Playgroud)
8只是随机缩放级别.有没有办法计算完美的缩放级别,以便所有标记都显示在地图中?
是否可以在EditText中滚动ScrollView?
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- scroll inside this EditText -->
<EditText android:id="@+id/et_scrollhere"
android:lines="6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Voorbeeld"
android:layout_margin="5dp"
android:scrollbars="vertical"
android:inputType="textMultiLine"/>
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
或者是否可以在纵向模式下将EditText嵌入键盘?像WhatsApp这样的东西,EditText是可滚动的.
我将我的项目从Android 4.2更新到Android 4.2.2,我突然在styles.xml中收到此错误:
<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<!-- Requires level 11. Current: 7 --> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我该如何解决?根据ABS文档,这是应该如何做的.请参阅:http://actionbarsherlock.com/theming.html
有没有办法禁用缩放(捏和双击)MapView但保持滚动?
这意味着将clickable设置为false将不起作用.
我也试过设置一个onTouch listener,activity但它不会触发使用:
mapView.setOnTouchListener(this);
Run Code Online (Sandbox Code Playgroud) 是否可以传递具有自定义数据属性的函数?
这不起作用:
<div data-myattr="hello();">
</div>
Run Code Online (Sandbox Code Playgroud)
function hello(){
console.log('hello');
}
Run Code Online (Sandbox Code Playgroud)
当我得到属性时,它是一个值为"hello();"的字符串.而不是功能.怎么解决这个?
使用 Node.js 检查文件是否存在的最佳实践是什么?
在这里的其他问题中,我看到很多答案都说使用fs.exists
但文档说:
特别是,在打开文件之前检查文件是否存在是一种反模式,使您容易受到竞争条件的影响:另一个进程可能会在调用 fs.exists() 和 fs.open() 之间删除该文件。只需打开该文件并在该文件不存在时处理错误即可。
打开文件时会发生什么?它是否会保持打开状态直到您关闭它(这是泄漏吗?)?那么,打开文件后是否必须关闭它?如果我使用,fs.exists我也可以打开该文件吗?
这是否意味着检查文件是否存在的最佳方法是:
fs.open('path/file.js', function(err, fd) {
if (err && err.code == 'ENOENT') {
// Does not exist
} else if (!err) {
// Does exist
fs.close(fd);
} else {
// Some other error
}
}
Run Code Online (Sandbox Code Playgroud) android ×5
java ×2
javascript ×2
web-services ×2
angularjs ×1
html5 ×1
http-post ×1
jax-rs ×1
jersey ×1
json ×1
node.js ×1
openlayers ×1
rest ×1
scroll ×1