我有非常简单的JSF bean,如下所示:
import org.jboss.seam.annotations.Name;
@Name(Sample.NAME)
public class Sample {
public static final String NAME="df";
private String text = "text-test";
public void sampleM(){
System.out.println("Test: "+text);
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
Run Code Online (Sandbox Code Playgroud)
和JSF表单连接这个组件:
<h:form id="sampleForm">
<h:commandButton id="sampleButton" action="#{df.sampleM()}" value="ok" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
现在,我想以编程方式将POST请求发送到此表单.
根据我的调查,这里的关键是POST参数.正确选择可以得到正确的结果(字符串'测试:文本测试'打印在serwer的控制台上).
所以问题是:我应该如何选择正确的POST数据?
上面显示的JSF表单生成此HTML表单:
<form id="sampleForm" name="sampleForm" method="post" action="/pages/main/main.smnet" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="sampleForm" value="sampleForm" />
<input id="sampleForm:sampleButton" type="submit" name="sampleForm:sampleButton" value="ok" />
<input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id65" autocomplete="off" /> …Run Code Online (Sandbox Code Playgroud) 是否可以在成功(回调)函数中获取请求的参数?
例如,
function handleSubmitClick(evt) {
evt.preventDefault();
var setupOptions = {
success: loadSearch,
type: "POST",
dataType: "json",
url: "../search.x",
error: handleError,
timeout: 10000
};
$("#searchForm").ajaxSubmit(setupOptions);
return false;
}
function loadSearch(data, statusText, xhr, $form) {
// here is where I would like to get the HTTP request
// parameters
}
Run Code Online (Sandbox Code Playgroud)
当然,我可以在handleSubmitClick期间将请求参数存储在全局变量中,并在loadSearch中读取该变量。但是,如果用户在第一个请求执行 loadSearch 之前提交另一个请求,则该变量的值将被覆盖(并且我不想阻止用户在第一个请求完成处理之前发出另一个请求)。
我目前让服务器在响应数据中回显请求参数,但我希望请求参数已经可供客户端使用,而服务器不必回显请求参数。谢谢。
如何为in: query(不in: body)请求参数定义JSON对象值?
示例如下:
paths:
/schedules:
get:
summary: Gets the list of schedules
description: |
The schedules endpoint returns information about the configured schedules.
parameters:
- name: filter
in: query
description: >
Returns whether alert runs on matching schedule.
Example request:
{
"type": "a",
"start" : "b",
"stop" : "c"
}
required: true
type: string
Run Code Online (Sandbox Code Playgroud)
因为它不是in: body,我不能使用schema.
假设我想将一堆请求参数捕获为一个对象,如下所示:
@GetMapping("/")
public List<Item> filterItems(@Valid Filter filter){}
Run Code Online (Sandbox Code Playgroud)
类Filter看起来像这样:
class Filter {
public String status;
public String start;
public String end;
}
Run Code Online (Sandbox Code Playgroud)
现在在 API 中请求参数名称state不再是status这样了?state=A&start=1&end=2。如何使这些请求参数映射到我的 Filter 对象而无需重命名status?我知道如果我有@RequestParam("state") String status它会起作用,但我希望它成为请求对象的一部分。
我尝试@JsonProperty('state')在字段中添加,但没有成功。
我知道如何使用 Flask Request: 从 url获取请求参数request.args.get('<param>')。事实上,这是我在搜索标题问题时唯一能找到的:
我需要知道如何为用户的 url发送请求参数。
例如,flask_login 有一个名为“next”的参数,用于存储用户访问包裹在 @login_required 中的路由时访问的 url,以便他们在登录后可以重定向到它。我需要这个确切的功能自己的表格,但我找不到实现它的方法。
flask-login 代码的相关部分在这里,但我无法理解它们是如何传递参数的。
我需要一种方法来在用户单击表单页面的链接时记录用户的 url,将其作为 GET 请求参数传递到表单页面上的 url 中,并在他们提交或取消表单时重新访问它以将它们返回到以前的页。
我正在尝试使用以下存根点击 WireMock,但查询参数似乎没有匹配。这是回应:
Request was not matched
=======================
-----------------------------------------------------------------------------------------------------------------------
| Closest stub | Request |
-----------------------------------------------------------------------------------------------------------------------
|
GET | GET
/mpp-pricing/v1/agreements\?accountId=.* | /mpp-pricing/v1/agreements?accountId=5388afaf-ee3d-44ed-a<<<<< URL does not match. When using a regex, "?" should be "\\?"
| b2a-0035156bb0a2
|
Run Code Online (Sandbox Code Playgroud)
这是我使用的存根:
{
"request": {
"method": "GET",
"urlPathPattern": "/mpp-pricing/v1/agreements\\?accountId=.*"
},
Run Code Online (Sandbox Code Playgroud) 我有一个通过URL访问的servlet,该URL中有一些请求参数.现在我需要将用户重定向到另一个页面(来自servlet),还要附加我从请求中获取的请求参数.这就是我正在做的事情
StringBuffer sb=new StringBuffer("/test.jsp");
sb.append( "?" );
Enumeration en = request.getParameterNames();
while( en.hasMoreElements() ){
String paramName = (String) en.nextElement();
sb.append( paramName );
sb.append( "=" );
sb.append(request.getParameter( paramName ));
sb.append("&");
}
String constructedURLWithParams=sb.toString();
Run Code Online (Sandbox Code Playgroud)
但问题是,有一个"&"将被添加到构造的URL的末尾.我不想再做一些字符串操作并删除尾随的"&".你能建议一个更好的方法吗?
如何@RequestParam使用注释格式化传入?表单以MM/DD/YYYY格式发送日期,控制器不会将其作为有效格式提取Date.
@RequestMapping(params="/updateDate")
public @ResponseBody String updateDate(HttpServletRequest request
, @RequestParam Integer productId
, @RequestParam Date dateReceived) {
// Code here...
}
Run Code Online (Sandbox Code Playgroud) 我想在浏览器中访问两个不同的页面:
http://localhost:8080/name?views
Run Code Online (Sandbox Code Playgroud)
和
http://localhost:8080/name?uviews
Run Code Online (Sandbox Code Playgroud)
但是我收到错误必需字符串参数'uviews'在我使用第一个url时不存在而且我得到必需字符串参数当我使用第二个时,'views'不存在.
这是我的回复机构
@ResponseBody
public Object getViewInJson(@RequestParam("views") String views ,@RequestParam("uviews") String uviews) throws IOException{
loader = new AnalyticsLoader();
return loader.AnalyticsLoader(views,uviews);
}
Run Code Online (Sandbox Code Playgroud)
如何访问视图和uviews?
是否可以将值为 null 的参数传递给 axios?似乎空值被忽略了......
java ×3
spring ×2
spring-mvc ×2
ajax ×1
annotations ×1
axios ×1
flask ×1
flask-login ×1
http-post ×1
java-ee ×1
jquery ×1
jsf ×1
jsf-2 ×1
jsonobject ×1
python ×1
request ×1
spring-rest ×1
spring-web ×1
swagger-2.0 ×1
wiremock ×1