【问题标题】:Spring 2.5.x MVC portlet with annotation & AJAX with jQuery+JSON Error: Content Type cant be set to jsonSpring 2.5.x MVC portlet with annotation & AJAX with jQuery+JSON Error: Content Type cant be set to json
【发布时间】:2010-07-02 11:36:33
【问题描述】:

当我尝试使用 spring 2.5.x DispatcherPortlet 和 liferay 来使用 Ajax 时,我收到了这个错误。我已经使用注释对其进行了配置。

在课堂上我使用了以下注释,

控制器代码...

@Controller
@RequestMapping("VIEW")
public class MyController {

@SuppressWarnings("unchecked")
 @RequestMapping(method=RequestMethod.GET) //this is default rendering...
 public String defaultRender(Model model, PortletRequest request) {
 ...
 return "/some/someview";
 }


@RequestMapping(method=RequestMethod.POST,params="action=something") // For ajax call...using jQuery
 public ModelAndView processTotalMatchCount(RenderRequest request, Model model) throws IOException {
  Map<String,String> hmapStockSearchParams = getSomeData(request);  
  Integer totalMatches = service.getTotal(hmapStockSearchParams);
  Map map = new HashMap();
  map.put("totalMatches", totalMatches); 
  return new ModelAndView("ajaxView",map);
 }

}

从 JSP 中,我使用 jQuery 调用以下 JS 函数。

function fetchTotalMatches(){ 
 var url = "<portlet:renderURL><portlet:param name='action' value='something' /></portlet:renderURL>";
  jQuery.ajax({ url: url,
    method: 'POST', 
    //dataType:'json', when i enable this it goes in error bcs response is not in JSON format...
    data: {param1:'one',param2:'two'},      
    success: function(message) {
     alert(message);
     jQuery('input:hidden[@name="total"]').val(message.totalMatches);     
     jQuery('div.secondary-nav').children('div.viewMatches').
      html(message.totalMatches);
    }, 
    error: function(xhr, ajaxOptions, thrownError) {
     alert(xhr.status + " - " + xhr.statusText);
    }
   }
  );
}

当我在 jquery 调用中启用 dataType:'json' 时,它会进入错误函数。否则我会得到defaultRender方法中定义的页面的整个HTML的响应警报(我调用这个函数的同一个jsp。)

在控制台中我收到此错误...

请对此提供帮助。我错过了什么?

我已经按照这个链接使用了 Ajax 相关的 Resolver 和 View...

http://www.jtraining.com/blogs/ajax-with-spring-mvc-and-jquery.html

[2010-07-02 11:13:41,703][http-8080-4][ERROR] - org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:501) - Could not complete request
 java.lang.IllegalArgumentException
 at com.liferay.portlet.MimeResponseImpl.setContentType(MimeResponseImpl.java:162)
 at org.springframework.web.portlet.DispatcherPortlet.render(DispatcherPortlet.java:1090)
 at org.springframework.web.portlet.DispatcherPortlet.doRenderService(DispatcherPortlet.java:832)
 at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:483)
 at org.springframework.web.portlet.FrameworkPortlet.doDispatch(FrameworkPortlet.java:453)
 at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
 at com.sun.portal.portletcontainer.appengine.filter.FilterChainImpl.doFilter(FilterChainImpl.java:126)
 at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:69)
 at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:100)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
 at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
 at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
 at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:618)
 at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:700)
 at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:419)
 at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1467)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
 at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
 at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
 at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:2884)
 at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:897)
 at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:170)
 at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:103)
 at com.liferay.portlet.layoutconfiguration.util.velocity.PortletColumnLogic.processContent(PortletColumnLogic.java:133)
 at com.liferay.portlet.layoutconfiguration.util.velocity.TemplateProcessor.processColumn(TemplateProcessor.java:68)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:389)
 at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:378)
 at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:270)
 at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:252)
 at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:332)
 at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336)
 at org.apache.velocity.Template.merge(Template.java:328)
 at org.apache.velocity.Template.merge(Template.java:235)
 at org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:381)
 at com.liferay.portal.velocity.VelocityEngineImpl.mergeTemplate(VelocityEngineImpl.java:179)
 at com.liferay.portal.kernel.velocity.VelocityEngineUtil.mergeTemplate(VelocityEngineUtil.java:84)
 at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:237)
 at com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:190)
 at org.apache.jsp.html.portal.layout.view.portlet_jsp._jspService(portlet_jsp.java:831)
 at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
 at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
 at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
 at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
 at com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:294)
 at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:471)
 at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:195)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
 at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:157)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
 at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:608)
 at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:846)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
 at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
 at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
 at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
 at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:143)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:142)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:140)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:282)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:425)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:257)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter.processFilter(OpenSSOFilter.java:73)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:193)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:191)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.servlet.filters.threadlocalcache.ThreadLocalCacheFilter.processFilter(ThreadLocalCacheFilter.java:55)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:91)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:154)
 at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:94)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Thread.java:619)

基本上它不允许按照下面的类将内容类型设置为application\json

public class AjaxView extends AbstractView {
 private static final Log log = LogFactory.getLog(AjaxView.class);
   private static final String REQUEST_CONTEXT_ATTRIBUTE = RequestContext.class.toString();

 public AjaxView() {
//  super();  
  setRequestContextAttribute(REQUEST_CONTEXT_ATTRIBUTE);
     setContentType("application/json;charset=UTF-8");     
 }
    /* (non-Javadoc)
     * @see org.springframework.web.servlet.view.AbstractView#renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
     */
    @Override
    protected void renderMergedOutputModel(Map map, HttpServletRequest request, HttpServletResponse response) 
    throws Exception {
        log.info("Resolving ajax request view - "+map);        
        JSONObject jsonObj = new JSONObject(map);
        log.info("content Type = " + getContentType());     
//        response.reset();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(jsonObj.toString());
        response.getWriter().flush();
    }
}

请尽快提供帮助。我需要的是,Ajax 调用在 spring 2.5.x MVC Portlet 中返回 JSON 字符串...

提前致谢。

【问题讨论】:

  • 注意:我尝试过使用 Spring-json。它也在其 JsonView 类中做同样的事情,将内容类型设置为 json。但我也收到了错误...

标签: jquery ajax json spring-mvc portlet


【解决方案1】:

我还没有找到 spring 2.5 的解决方案。

所以我升级到 3.0.3 并尝试将 ContentNegotiatingViewResolver 与 JSON 一起使用。但它失败了。

查看问题ERROR: 'ContentNegotiatingViewResolver'of Spring 3.0.3 MVC Portlet+JSON ,了解我的问题的 Spring 3.0.3 的详细说明。

最后,我发现 Spring 3 不支持 portlet JSON。所以我转向 servlet,而不是使用 spring MVC 来处理 json。仅适用于 JSP...我正在使用它。

【讨论】:

  • 有这个问题,如果你喜欢portlet和spring,请投票:jira.springframework.org/browse/SPR-7344 ... 还有一个解决方案:stackoverflow.com/q/4498266/306488
  • 嘿,我还是希望3.1.0版本能有一些支持,但我只是看着它,似乎没有太多......一些博客文章会没关系,我在春季论坛或 Jira 上从未得到任何回应。你有关于这个问题的消息吗?
【解决方案2】:

在我看来你应该使用以下

  • 使用dataType:'json'
  • 使用contentType: "application/json; charset=utf-8"
  • 使用JSON.stringify 转换您为每个数据参数提供的数据(每个属性分别)。

您可以在How do I build a JSON object to send to an AJAX WebService? 下查看如何进行 JSON 编码的示例。另一个链接Can I return JSON from an .asmx Web Service if the ContentType is not JSON? 可能也有帮助。

【讨论】:

  • 嘿,我已经通知我得到的内容不是 JSON 格式。参数已成功发送,我的计算正在生成最终结果。唯一的问题是我在回调中获取了整个 html.. 所以.. 请帮忙...
  • 嗨,现在我改变了我的视图类,并创建了一个直接实现视图接口的新类。现在我每次都为我的 ajax 方法提供新的 AjaxView()。所以错误消失了,但我的内容仍然没有出现在 JSON 中:(
  • 您应该将dataType 设置为'json''html'。最好在jQuery.ajax 中同时设置dataTypecontentType。至少在您的代码中的两个地方将 ContentType 设置为 application/json(请参阅您发布的 AjaxView)并且您写道您不需要 JSON ???
  • 我需要 JSON,但服务器不发送 JSON...它发送 HTML..这就是我的问题...也会尝试您的笔记...谢谢
  • 主要问题是,即使我创建了自己的 AjaxView 类,每次调用 ajax 方法时都会返回新视图,将内容类型设置为 json,使用我的返回数据创建新的 JSONObject它并将 json 字符串从 AjaxView 类设置为 response.getWriter().print() ......我仍然得到 HTML :(。这是/关于 Portlet 的 VIEW 模式的问题吗?
【解决方案3】:

如果你想在 spring MVC portlet 中使用 JSON 函数,你必须使用资源映射而不是请求映射!

我不确定 Spring MVC for JSON 的开箱即用支持,在 Spring 中我从未尝试过(我的意思是 @ResponseBody)

我在 Spring MVC portlet 中生成 JSON 的方法是,我在该 JSP 中为 JSON 目的制作了一个 JSP 页面

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page contentType="application/json; charset=UTF-8" pageEncoding="UTF-8" %>
<c:out escapeXml="false" value="${outObject}"/>

在控制器中

     @ResourceMapping("the id for calling from client side")
     public ModelAndView countryRequest(ResourceRequest request, ResourceRequest response) {

.... omit 

    Map<String, String> model = new HashMap<String, String>();
    model.put("outObject", json);
    return new ModelAndView("ajaxResponse", model);
}

你会得到success方法的结果,例如:

function <portlet:namespace/>changeSicGroup(){
var sicGroupId = jQuery('#<portlet:namespace/>addBranchsicGroup').val();
jQuery.ajax({
    url: '<portlet:resourceURL id="showSicSector" />',
    global: false,
    type: "POST",
    dataType:'json',
    data: {sicGroupId : sicGroupId}
    ,async:false
    ,success: function(result){
        var targetCom = jQuery('#<portlet:namespace/>addBranchSicSector');
        if(result != null){
            //                    jQuery("#"+targetComId).show();
            targetCom.find('option').remove();
            targetCom.append('<option value=""><spring:message code="pleaseSelectSicSector"/></option >');
            for(var i=0;i< result.length;i++){
                targetCom.append("<option value="+result[i].sectorCode+">"+result[i].desc+"</option>");
            }
            //                    targetCom.attr('disabled',false);
        }else{
            targetCom.find('option').remove();
            targetCom.append('<option value=""><spring:message code="pleaseSelectSicSector"/></option >');
            //                    jQuery("#"+targetComId).hide();
        }
    }
});

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2017-10-26
    • 2020-07-30
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多