используйте библиотеку json
import json
json.dumps(list)
, кстати, вы можете рассмотреть возможность изменения списка переменных на другое имя, list
- встроенная функция для создания списка, вы можете получить некоторые неожиданные поведения или ошибки код, если вы не измените имя переменной.
Вы не можете, не используя стандартный API. HttpServletRequest
представляет запрос, полученный сервером, поэтому добавление новых параметров не является допустимым вариантом (с точки зрения API).
В принципе, вы можете реализовать подкласс HttpServletRequestWrapper
, который обертывает исходный запрос, перехватывает методы getParameter ()
и передает обернутый запрос при пересылке.
Если вы идете по этому маршруту, вам следует использовать фильтр
, чтобы заменить ваш HttpServletRequest
на HttpServletRequestWrapper
:
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
if (servletRequest instanceof HttpServletRequest) {
HttpServletRequest request = (HttpServletRequest) servletRequest;
// Check wether the current request needs to be able to support the body to be read multiple times
if (MULTI_READ_HTTP_METHODS.contains(request.getMethod())) {
// Override current HttpServletRequest with custom implementation
filterChain.doFilter(new HttpServletRequestWrapper(request), servletResponse);
return;
}
}
filterChain.doFilter(servletRequest, servletResponse);
}
Если вы действительно хотите это сделать, создайте HttpServletRequestWrapper.
public class AddableHttpRequest extends HttpServletRequestWrapper {
private HashMap params = new HashMap();
public AddableingHttpRequest(HttpServletRequest request) {
super(request);
}
public String getParameter(String name) {
// if we added one, return that one
if ( params.get( name ) != null ) {
return params.get( name );
}
// otherwise return what's in the original request
HttpServletRequest req = (HttpServletRequest) super.getRequest();
return validate( name, req.getParameter( name ) );
}
public void addParameter( String name, String value ) {
params.put( name, value );
}
}
Попробуйте следующее: Для этого вам не нужно устанавливать параметр, а использовать атрибут
void setAttribute(String name, Object o);
, а затем
Object getAttribute(String name);